Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

alpine:3.14 docker libtls.so.20 conflict

So I am running into an error with the latest docker build from alpine. alpine:3.14.0 was released about a day ago and was trying to install libressl and libressl-dev and both seem to fail with the error below. My work around at the moment was to build using the alpine:3.12.0 as 3.12.0 seems to not have libretls installed. Although I would like to know how to fix this. I tried to remove libretls but that didn't work (error also below). Thanks

$ docker -v
Docker version 20.10.6, build 370c289
$ docker run --rm -it alpine /bin/ash
/ # apk add libressl-dev
fetch https://dl-cdn.alpinelinux.org/alpine/v3.14/main/x86_64/APKINDEX.tar.gz
fetch https://dl-cdn.alpinelinux.org/alpine/v3.14/community/x86_64/APKINDEX.tar.gz
(1/5) Installing libressl3.3-libcrypto (3.3.3-r0)
(2/5) Installing libressl3.3-libssl (3.3.3-r0)
(3/5) Installing libressl3.3-libtls (3.3.3-r0)
ERROR: libressl3.3-libtls-3.3.3-r0: trying to overwrite usr/lib/libtls.so.20 owned by libretls-3.3.3-r0.
ERROR: libressl3.3-libtls-3.3.3-r0: trying to overwrite usr/lib/libtls.so.20.0.3 owned by libretls-3.3.3-r0.
(4/5) Installing pkgconf (1.7.4-r0)
(5/5) Installing libressl-dev (3.3.3-r0)
Executing busybox-1.33.1-r2.trigger
1 error; 41 MiB in 19 packages
/ #
/ # apk info libretls
libretls-3.3.3-r0 description:
port of libtls from libressl to openssl

libretls-3.3.3-r0 webpage:
https://git.causal.agency/libretls/

libretls-3.3.3-r0 installed size:
84 KiB
/ #
/ # apk del libretls
WARNING: Ignoring https://dl-cdn.alpinelinux.org/alpine/v3.14/main: No such file or directory
WARNING: Ignoring https://dl-cdn.alpinelinux.org/alpine/v3.14/community: No such file or directory
World updated, but the following packages are not removed due to:
  libretls: busybox alpine-baselayout apk-tools

OK: 6 MiB in 14 packages
/ # exit
like image 228
AsynchronousGillz Avatar asked Jun 17 '21 04:06

AsynchronousGillz


People also ask

How do I run Alpine image in Docker?

To run the Alpine Image Docker Container, you can use the Docker run command. Once the Image is loaded, it opens up the shell for you automatically.

Does Docker use Alpine?

The Alpine DOI is a building block for Alpine Linux Docker containers. It's an executable software package that tells Docker and your application how to behave. The image includes source code, libraries, tools, and other core dependencies that your application needs.

Is Alpine good for production?

Alpine is a suitable Linux distribution for production because it only has the bare necessities that your application needs to run. In this tutorial, you'll optimize Docker images in a few simple steps, making them smaller, faster, and better suited for production.

How do I know my Alpine Docker version?

You should be able to run the command alpine -v or alpine -version ... you can also start Alpine and press ? on the main menu to open the main Help page, which will also tell you the version.


1 Answers

this is the upstream issue. Downgrading to alpine 3.13 works for now until the issue is fixed. Normally docker images support fixed alpine versions (thanks to MrGlass comment). For example

python:3-alpine -> python:3-alpine3.13
php:7.4-fpm-alpine -> php:7.4-fpm-alpine3.13
like image 57
ahmadali shafiee Avatar answered Sep 23 '22 21:09

ahmadali shafiee