[Docker] 執行 docker run 時,覆寫 ENTRYPOINT 指定執行的程式
之前在 Dockerfile 中指定了 ENTRYPOINT 指令,
因此執行 container 時都會自動執行 ENTRYPOINT 指定的程式。
但今天我想要用 bash 進去 container 裡面做一點實驗,該怎麼辦呢?
原來在 docker run 中用 –entrypoint 選擇就可以了~
不過有一點要注意的是,–entrypoint 指定的是執行檔的名稱,
所有要帶給這個執行檔的參數,都要加在映像檔名稱的後面~
舉例來說,我想要用 centos 這個映像檔產生一個 container,
並且指定 container 去執行 /bin/ls -l /root 的話,
得把 /bin/ls 放在 –entrypoint,而 -l /root 放在映像檔的後面,如:
docker run --entrypoint "/bin/ls" centos -l /root
以我原本的例子而言,我只是要進入 shell 環境,
所以 –entrypoint 給 /bin/bash 就可以了:
docker run --entrypoint /bin/bash my_image
參考資料:How to properly override the ENTRYPOINT using docker run
(本頁面已被瀏覽過 5,917 次)