Ответ 1
говорит, что это /
, поэтому корневой каталог
Мы можем использовать WORKDIR
, чтобы установить каталог как рабочий каталог в Dockerfile
, но какое значение по умолчанию, если мы не установим?
говорит, что это /
, поэтому корневой каталог
По умолчанию действительно /
, как указано в другом месте. Тем не менее, стоит упомянуть, что вы почти никогда не будете запускаться из пустого образа докера (FROM scratch
), поэтому WORKDIR
, вероятно, устанавливается базовым образом, который вы используете.
Например, https://github.com/docker-library/tomcat/blob/master/Dockerfile-alpine.template имеет WORKDIR $CATALINA_HOME
, а https://github.com/dockerfile/ubuntu/blob/master/Dockerfile имеет WORKDIR /root
. (https://hub.docker.com/r/base/archlinux/~/dockerfile/ однако не использует WORKDIR
.)
Поэтому лучше установить свой собственный WORKDIR
явно.
Рабочим каталогом по умолчанию для запуска двоичных файлов в контейнере является корневой каталог (/
), но разработчик может установить другой каталог с помощью команды Dockerfile WORKDIR. Оператор может переопределить это с помощью:
-w="": Working directory inside the container
здесь: https://docs.docker.com/engine/reference/run/#workdir
Поскольку нет пользователей, кроме корня в только что родившемся докере или контейнере, строго говоря. Таким образом, для каждого изменения будет фиксация для этого контейнера, как сказал этот парень. Следовательно, pwd этого или по вашему запросу WORKDIR имеет /
root по умолчанию и каждый раз, когда вы выполняете команду /bin/bash
следующим образом:
$docker exec -i -t 53f784fwer54/bin/bash
на запущенном контейнере он поместит вас здесь /
в корневой каталог.