Який за замовчуванням WORKDIR у докері?


85

Ми можемо використовувати, WORKDIRщоб встановити каталог як робочий каталог Dockerfile, але яке значення за замовчуванням, якщо ми не встановимо?


2
Просто виконайте однорядковий Dockerfile за допомогоюRUN pwd
kilgoretrout

Відповіді:



31

За замовчуванням справді /вказано деінде. Варто зазначити, однак, що ви майже ніколи не будете запускати з порожнього образу докера ( FROM scratch), тому WORKDIRце, швидше за все, встановлюється базовим зображенням, яке ви використовуєте.

Наприклад, https://github.com/docker-library/tomcat/blob/master/Dockerfile-alpine.template has WORKDIR $CATALINA_HOME, і https://github.com/dockerfile/ubuntu/blob/master/Dockerfile has WORKDIR /root. ( https://hub.docker.com/r/base/archlinux/~/dockerfile/ не використовує WORKDIR.)

Тому найкраще WORKDIRчітко встановити власні .


13

Типовим робочим каталогом для запуску двійкових файлів у контейнері є кореневий каталог ( /), але розробник може встановити інший каталог за допомогою команди Dockerfile WORKDIR. Оператор може замінити це за допомогою:

-w="": Working directory inside the container

Тут: https://docs.docker.com/engine/reference/run/#workdir


6

Оскільки немає користувачів, крім кореня в щойно народженому докері або контейнері, строго кажучи. Отже, за кожну зміну буде зроблено коміт для цього контейнера, як сказав цей хлопець . Отже, pwd цього або, як ви запитали, WORKDIR / за замовчуванням є root, і кожного разу, коли ви виконуєте /bin/bashтакий:

$docker exec -i -t 53f784fwer54 /bin/bash

на запущеному контейнері це помістить вас сюди /в кореневу папку.


Ваша відповідь не лише неточна, але й просто помилкова. По-перше, запитання: Яким є WORKDIR за замовчуванням ЗОБРАЖЕННЯ, якщо він не встановлений явно у файлі Docker. Ваша відповідь про те, що робочий каталог нового КОНТЕЙНЕРА за замовчуванням /є неправильним і неактуальним. Типовий робочий каталог нового контейнера такий же, як робочий каталог зображення за замовчуванням. Наприклад, я щойно запустив docker exec -ti <my_app> /bin/bash;новий процес bash pwd, і бачу, що робочий каталог є /app.
Обмежена викуп
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.