WORKDIR mặc định trong docker là gì?


85

Chúng ta có thể sử dụng WORKDIRđể đặt một thư mục làm thư mục công việc Dockerfile, nhưng giá trị mặc định là gì nếu chúng ta không đặt?


2
Chỉ cần thực hiện một single-line Dockerfile vớiRUN pwd
kilgoretrout

Câu trả lời:



31

Mặc định thực sự /như đã nêu ở những nơi khác. Tuy nhiên, điều đáng nói là bạn hầu như sẽ không bao giờ chạy từ một hình ảnh docker trống ( FROM scratch), vì vậy, WORKDIRkhả năng là do hình ảnh cơ sở bạn đang sử dụng đặt.

Ví dụ: https://github.com/docker-library/tomcat/blob/master/Dockerfile-alpine.templateWORKDIR $CATALINA_HOMEhttps://github.com/dockerfile/ubuntu/blob/master/DockerfileWORKDIR /root. ( https://hub.docker.com/r/base/archlinux/~/dockerfile/WORKDIR tuy nhiên không sử dụng .)

Do đó, tốt nhất là đặt riêng của bạn một WORKDIRcách rõ ràng.


13

Thư mục làm việc mặc định để chạy các tệp nhị phân trong một vùng chứa là thư mục gốc ( /), nhưng nhà phát triển có thể đặt một thư mục khác bằng lệnh Dockerfile WORKDIR. Nhà điều hành có thể ghi đè điều này bằng:

-w="": Working directory inside the container

Tại đây: https://docs.docker.com/engine/reference/run/#workdir


6

Vì không có người dùng nào ngoài root trong một docker mới sinh hoặc một container. Vì vậy, đối với mỗi thay đổi sẽ có một cam kết cho vùng chứa đó như anh chàng này đã nói. Do đó, pwd của điều đó hoặc như bạn đã hỏi WORKDIR được / root theo mặc định và mỗi khi bạn thực hiện một lệnh /bin/bashnhư thế này:

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

trên một container đang chạy, nó sẽ đưa bạn vào đây /trong thư mục gốc.


Câu trả lời của bạn không chỉ lạc đề mà còn sai rõ ràng. Đầu tiên, câu hỏi đặt ra là: WORKDIR mặc định của IMAGE là gì nếu nó không được đặt rõ ràng trong Dockerfile. Câu trả lời của bạn nói rằng workdir mặc định của CONTAINER mới /là không chính xác và không liên quan. Workdir mặc định của một vùng chứa mới giống với workdir mặc định của hình ảnh. Ví dụ, tôi vừa chạy docker exec -ti <my_app> /bin/bash;sau đó trong quy trình bash mới pwd, và tôi thấy rằng thư mục đang hoạt động /app.
Sự Chuộc Tội Có Giới Hạn vào
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.