Вопросы по тегу: alpine

(8)

Двоичный файл, скомпилированный Go, не будет работать в контейнере alpine docker на хосте Ubuntu

дан двоичный файл, скомпилированный с помощью Go с использованием GOOS=linux и GOARCH=amd64, развернутый в контейнере docker на основе alpine:3.3, двоичный файл не запустится, если хостом Docker Engine является Ubuntu (15.10):sh: /bin/artisan: not found Этот же двоичный файл (скомпилированный для той же ОС и той же архитектуры) будет работать просто отлично, если хостом Docker Engine является busybox (который является базовым для alpine*100007 *) развернут на виртуальной машине VirtualBox в Mac OS X.Этот же двоичный файл также будет работать нормально, если контейнер основан на одном из образов Ubuntu.Есть идеи, чего не хватает этому двоичному файлу?Это то, что я сделал для воспроизведения (успешный запуск в VirtualBox/busybox на OS X не показан):Сборка (сборка явно с флагами, даже если арка совпадает):➜ artisan git:(master) ✗ GOOS=linux GOARCH=amd64 go build Проверить, может ли он работать на хосте:➜ artisan git:(master) ✗ ./artisan 10:14:04.925 [ERROR] artisan: need a command, one of server, provision or build Скопировать в папку докера, собрать, запустить:➜ artisan git:(master) ✗ cp artisan docker/build/bin/ ➜ artisan git:(master) ✗ cd docker ➜ docker git:(master) ✗ cat Dockerfile FROM docker:1.10 COPY build/ / ➜ docker git:(master) ✗ docker build -t artisan . Sending build context to Docker daemon 10.15 MB Step 1 : FROM docker:1.10 ... ➜ docker git:(master) ✗ docker run -it artisan sh / # /bin/artisan sh: /bin/artisan: not found Теперь меняем базовый образ на phusion/baseimage:➜ docker git:(master) ✗ cat Dockerfile #FROM docker:1.10 FROM phusion/baseimage COPY build/ / ➜ docker git:(master) ✗ docker build -t artisan . Sending build context to Docker daemon 10.15 MB Step 1 : FROM phusion/baseimage ... ➜ docker git:(master) ✗ docker run -it artisan sh # /bin/artisan 08:16:39.424 [ERROR] artisan: need a command, one of server, provision or build
O

Oleg Sklyar

6 лет назад

Ответов: 6

Докер: как использовать bash с образом докера на базе Alpine?

Я создал образ докера из openjdk: 8-jdk-alpine, но когда я пытаюсь выполнить простые команды, я получаю следующие ошибки:RUN bash /bin/sh: bash: not found RUN ./gradlew build env: can't execute 'bash': No such file or directory
i

iamdeit

5 лет назад

Ответов: 4

Почему установка Pandas на Alpine Linux занимает много времени

Я заметил, что установка Pandas и Numpy (это зависимость) в контейнере Docker с использованием базовой ОС Alpine по сравнению с CentOS или Debian занимает гораздо больше времени. Ниже я создал небольшой тест, чтобы продемонстрировать разницу во времени. Помимо нескольких секунд, которые требуется Alpine для обновления и загрузки зависимостей сборки для установки Pandas и Numpy, почему setup.py занимает примерно в 70 раз больше времени, чем установка Debian?Есть ли способ ускорить установку с использованием Alpine в качестве базового образа или есть другой базовый образ, сопоставимый по размеру с Alpine, который лучше использовать для таких пакетов, как Pandas и Numpy?Dockerfile.debianFROM python:3.6.4-slim-jessie RUN pip install pandas Создайте образ Debian с помощью Pandas и Numpy:[PandasDockerTest] time docker build -t debian-pandas -f Dockerfile.debian . --no-cache Sending build context to Docker daemon 3.072kB Step 1/2 : FROM python:3.6.4-slim-jessie ---> 43431c5410f3 Step 2/2 : RUN pip install pandas ---> Running in 2e4c030f8051 Collecting pandas Downloading pandas-0.22.0-cp36-cp36m-manylinux1_x86_64.whl (26.2MB) Collecting numpy>=1.9.0 (from pandas) Downloading numpy-1.14.1-cp36-cp36m-manylinux1_x86_64.whl (12.2MB) Collecting pytz>=2011k (from pandas) Downloading pytz-2018.3-py2.py3-none-any.whl (509kB) Collecting python-dateutil>=2 (from pandas) Downloading python_dateutil-2.6.1-py2.py3-none-any.whl (194kB) Collecting six>=1.5 (from python-dateutil>=2->pandas) Downloading six-1.11.0-py2.py3-none-any.whl Installing collected packages: numpy, pytz, six, python-dateutil, pandas Successfully installed numpy-1.14.1 pandas-0.22.0 python-dateutil-2.6.1 pytz-2018.3 six-1.11.0 Removing intermediate container 2e4c030f8051 ---> a71e1c314897 Successfully built a71e1c314897 Successfully tagged debian-pandas:latest docker build -t debian-pandas -f Dockerfile.debian . --no-cache 0.07s user 0.06s system 0% cpu 13.605 total Dockerfile.alpineFROM python:3.6.4-alpine3.7 RUN apk --update add --no-cache g++ RUN pip install pandas Создайте образ Alpine с помощью Pandas и Numpy:[PandasDockerTest] time docker build -t alpine-pandas -f Dockerfile.alpine . --no-cache Sending build context to Docker daemon 16.9kB Step 1/3 : FROM python:3.6.4-alpine3.7 ---> 4b00a94b6f26 Step 2/3 : RUN apk --update add --no-cache g++ ---> Running in 4b0c32551e3f fetch http://dl-cdn.alpinelinux.org/alpine/v3.7/main/x86_64/APKINDEX.tar.gz fetch http://dl-cdn.alpinelinux.org/alpine/v3.7/main/x86_64/APKINDEX.tar.gz fetch http://dl-cdn.alpinelinux.org/alpine/v3.7/community/x86_64/APKINDEX.tar.gz fetch http://dl-cdn.alpinelinux.org/alpine/v3.7/community/x86_64/APKINDEX.tar.gz (1/17) Upgrading musl (1.1.18-r2 -> 1.1.18-r3) (2/17) Installing libgcc (6.4.0-r5) (3/17) Installing libstdc++ (6.4.0-r5) (4/17) Installing binutils-libs (2.28-r3) (5/17) Installing binutils (2.28-r3) (6/17) Installing gmp (6.1.2-r1) (7/17) Installing isl (0.18-r0) (8/17) Installing libgomp (6.4.0-r5) (9/17) Installing libatomic (6.4.0-r5) (10/17) Installing pkgconf (1.3.10-r0) (11/17) Installing mpfr3 (3.1.5-r1) (12/17) Installing mpc1 (1.0.3-r1) (13/17) Installing gcc (6.4.0-r5) (14/17) Installing musl-dev (1.1.18-r3) (15/17) Installing libc-dev (0.7.1-r0) (16/17) Installing g++ (6.4.0-r5) (17/17) Upgrading musl-utils (1.1.18-r2 -> 1.1.18-r3) Executing busybox-1.27.2-r7.trigger OK: 184 MiB in 50 packages Removing intermediate container 4b0c32551e3f ---> be26c3bf4e42 Step 3/3 : RUN pip install pandas ---> Running in 36f6024e5e2d Collecting pandas Downloading pandas-0.22.0.tar.gz (11.3MB) Collecting python-dateutil>=2 (from pandas) Downloading python_dateutil-2.6.1-py2.py3-none-any.whl (194kB) Collecting pytz>=2011k (from pandas) Downloading pytz-2018.3-py2.py3-none-any.whl (509kB) Collecting numpy>=1.9.0 (from pandas) Downloading numpy-1.14.1.zip (4.9MB) Collecting six>=1.5 (from python-dateutil>=2->pandas) Downloading six-1.11.0-py2.py3-none-any.whl Building wheels for collected packages: pandas, numpy Running setup.py bdist_wheel for pandas: started Running setup.py bdist_wheel for pandas: still running... Running setup.py bdist_wheel for pandas: still running... Running setup.py bdist_wheel for pandas: still running... Running setup.py bdist_wheel for pandas: still running... Running setup.py bdist_wheel for pandas: still running... Running setup.py bdist_wheel for pandas: still running... Running setup.py bdist_wheel for pandas: finished with status 'done' Stored in directory: /root/.cache/pip/wheels/e8/ed/46/0596b51014f3cc49259e52dff9824e1c6fe352048a2656fc92 Running setup.py bdist_wheel for numpy: started Running setup.py bdist_wheel for numpy: still running... Running setup.py bdist_wheel for numpy: still running... Running setup.py bdist_wheel for numpy: still running... Running setup.py bdist_wheel for numpy: finished with status 'done' Stored in directory: /root/.cache/pip/wheels/9d/cd/e1/4d418b16ea662e512349ef193ed9d9ff473af715110798c984 Successfully built pandas numpy Installing collected packages: six, python-dateutil, pytz, numpy, pandas Successfully installed numpy-1.14.1 pandas-0.22.0 python-dateutil-2.6.1 pytz-2018.3 six-1.11.0 Removing intermediate container 36f6024e5e2d ---> a93c59e6a106 Successfully built a93c59e6a106 Successfully tagged alpine-pandas:latest docker build -t alpine-pandas -f Dockerfile.alpine . --no-cache 0.54s user 0.33s system 0% cpu 16:08.47 total
m

moku

4 года назад

Ответов: 9

Alpine Dockerfile Преимущества --no-cache Vs. rm / var / cache / apk / *

При создании файлов Docker с использованием образа Alpine я часто встречал использование apk --no-cache, а в других случаях он фиксировался, а вместо этого я видел rm / var / cache / apk / *.Мне любопытно узнать, что использование - no-cache устраняет необходимость в последующем выполнении rm / var / cache / apk / *. Я также хотел бы знать, предпочитается ли один стиль другому.
A

Angel S. Moreno

4 года назад

Ответов: 2

Как мне добавить пользователя, если я использую Alpine в качестве базового образа?

Я использую alpine (или образ, основанный на Alpine) в качестве базового образа в моем Dockerfile. Какие инструкции мне нужно добавить, чтобы создать пользователя?В конце концов, я буду использовать этого пользователя для запуска приложения, которое я помещу в контейнер, чтобы пользователь root этого не делал.
D

Daniel Gartmann

4 года назад

Ответов: 3

Why is the Java 11 base Docker image so large? (openjdk:11-jre-slim)

Java 11 is announced to be the most recent LTS version. So, we're trying to start new services based on this Java version.However, the base Docker image for Java 11 is much larger than the equivalent for Java 8: openjdk:8-jre-alpine: 84 MB openjdk:11-jre-slim: 283 MB (I'm considering only the official OpenJDK and the most lightweight images for each Java version.)Deeper digging uncovered the following "things": the openjdk:11-jre-slim image uses the base image debian:sid-slim. This brings 2 issues: this is 60 MB larger than alpine:3.8 the Debian sid versions are unstable the openjdk-11-jre-headless package installed in the image is 3 times larger than openjdk8-jre (inside running Docker container): openjdk:8-jre-alpine: / # du -hs /usr/lib/jvm/java-1.8-openjdk/jre/lib/ 57.5M /usr/lib/jvm/java-1.8-openjdk/jre/lib/ openjdk:11-jre-slim: # du -sh /usr/lib/jvm/java-11-openjdk-amd64/lib/ 179M /usr/lib/jvm/java-11-openjdk-amd64/lib/ Going deeper I discovered the "root" of this heaviness - it's the modules file of the JDK: # ls -lhG /usr/lib/jvm/java-11-openjdk-amd64/lib/modules 135M /usr/lib/jvm/java-11-openjdk-amd64/lib/modules So, now the questions which came: Why is alpine not used any more as a base image for Java 11 slim images? Why is the unstable sid version used for LTS Java images? Why is the slim/headless/JRE package for OpenJDK 11 so large compared to the similar OpenJDK 8 package? What is this modules file which brings 135 MB in OpenJDK 11? UPD: as a solutions for these challenges one could use this answer: Java 11 application as docker image
r

radistao

3 года назад

Ответов: 4

What is .build-deps for apk add --virtual command?

What is .build-deps in the following command? I can't find an explanation in the Alpine docs. Is this a file that is predefined? Is see this referenced in many Dockerfiles.RUN apk add --no-cache --virtual .build-deps \ gcc \ freetype-dev \ musl-dev RUN pip install --no-cache-dir \ RUN apk del .build-deps
g

gdbj

4 года назад

Ответов: 2

Запуск оболочки в контейнере Docker Alpine

Чтобы запустить интерактивную оболочку для образа Ubuntu, мы можем запустить:ole@T:~$ docker run -it --rm ubuntu root@1a6721e1fb64:/# ls bin boot dev etc home lib lib64 media mnt opt proc root run sbin srv sys tmp usr var Но когда это выполняется для образа Alpine Docker, следующие результаты:ole@T:~$ docker run -it --rm alpine Error response from daemon: No command specified Какая команда запускает интерактивную оболочку в базовом контейнере Alpine?
O

Ole

6 лет назад

Ответов: 4

2022 WebDevInsider