docker學習筆記13:Dockerfile 指令 WORKDIR介紹


Dockerfile中的WORKDIR指令用於指定容器的一個目錄, 容器啟動時執行的命令會在該目錄下執行。

相當於設置容器的工作目錄了。我們來看一個dockerfile文件

#test
FROM ubuntu
MAINTAINER hello
RUN mkdir /mydir
RUN echo hello world > /mydir/test.txt
WORKDIR /mydir
CMD ["more" ,"test.txt"]

假設根據該dockerfile構建的鏡像名為 myimage

1、運行 docker run myimage  輸出 hello world

2、運行 docker run myimage more test.txt  和上面輸出一致

可以看出,more的參數是 test.txt,但沒有指定路徑,卻能成功,說明當前路徑就是上面WORKDIR指令設置的。

如果我們在上面的dockerfile中把WORKDIR指令去掉,創建的容器運行會報文件不存在錯誤。

 

3、可以在 docker run命令中用 -w參數覆蓋掉WORKDIR指令的設置,如:

執行 docker run -w / myimage

上面的-w參數將容器的工作目錄設置成了根目錄,而根目錄下沒有test.txt文件。

所以結果顯示:test.txt: No such file or directory


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM