#docker
Вопрос:
Я новичок, провожу эксперименты с докером.
Однажды, когда я бежал
docker container run --publish 80:80 nginx
Я только что получил сгенерированный идентификатор контейнера.
Затем я сделал разные вещи, и теперь, когда я выполняю одну и ту же команду, я получаю
$ docker container run --publish 80:80 nginx
/docker-entrypoint.sh: /docker-entrypoint.d/ is not empty, will attempt to perform configuration
/docker-entrypoint.sh: Looking for shell scripts in /docker-entrypoint.d/
/docker-entrypoint.sh: Launching /docker-entrypoint.d/10-listen-on-ipv6-by-default.sh
10-listen-on-ipv6-by-default.sh: info: Getting the checksum of /etc/nginx/conf.d/default.conf
10-listen-on-ipv6-by-default.sh: info: Enabled listen on IPv6 in /etc/nginx/conf.d/default.conf
/docker-entrypoint.sh: Launching /docker-entrypoint.d/20-envsubst-on-templates.sh
/docker-entrypoint.sh: Launching /docker-entrypoint.d/30-tune-worker-processes.sh
/docker-entrypoint.sh: Configuration complete; ready for start up
Почему? Это потому, что я сейчас выполняю ту же команду в другом каталоге, в котором есть файл Dockerfile?
Вот содержимое файла Dockerfile:
# this shows how we can extend/change an existing official image from Docker Hub
FROM nginx:latest
# highly recommend you always pin versions for anything beyond dev/learn
WORKDIR /usr/share/nginx/html
# change working directory to root of nginx webhost
# using WORKDIR is preferred to using 'RUN cd /some/path'
COPY index.html index.html
# I don't have to specify EXPOSE or CMD because they're in my FROM
Ответ №1:
Это зависит от того, как вы запускаете контейнер docker. Используемая вами команда запустит его как процесс переднего плана и выведет стандартный вывод контейнера на консоль (по умолчанию Docker).
Если вы хотите видеть только идентификатор и запускать его в фоновом режиме, вам необходимо добавить опцию отсоединения:
docker container run --detach --publish 80:80 nginx
docker run -d -p 80:80 nginx
Видеть https://docs.docker.com/engine/reference/run/#detached-vs-foreground и https://docs.docker.com/engine/reference/commandline/container_run/