programing tip

Docker의 기본 WORKDIR은 무엇입니까?

itbloger 2020. 12. 2. 08:11
반응형

Docker의 기본 WORKDIR은 무엇입니까?


WORKDIR에서 디렉터리를 작업 디렉터리로 설정하는 데 사용할 수 Dockerfile있지만 설정하지 않으면 기본값은 무엇입니까?


도커 workdir

그것이라고 /, 루트 디렉토리 그래서


기본값은 실제로 /다른 곳에서 언급 한 것과 같습니다. 그러나 빈 도커 이미지 ( 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


사용자가 없기 때문에 방금 태어난 docker 또는 엄격히 말하면 컨테이너의 루트입니다. 따라서 모든 변경에 대해이 사람이 말한 것처럼 해당 컨테이너에 대한 커밋이 있습니다 . 따라서 그 암호는 /기본적으로 루트이며 다음과 같이 실행할 때마다 WORKDIR에 요청 /bin/bash했습니다.

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

실행중인 컨테이너 /에서 루트 디렉토리에 있습니다.

참고 URL : https://stackoverflow.com/questions/37782488/whats-the-default-workdir-in-docker

반응형