在這種情況下,我有一個無法修改的基本影像。影像的入口點是 python3,但我有一個 docker run,我想在其中將 /bin/bash 作為入口點。關鍵是,我想將 -c 和 -l 標志放在 /bin/bash 命令中。
為了澄清,我想要相當于
ENTRYPOINT ["/bin/bash", "-l", "-c"]
但是當我運行docker run --entrypoint /bin/bash <image>命令時
uj5u.com熱心網友回復:
如果您只想這樣做一次,那么您可以--entrypoint在使用docker run.
$ docker run --entrypoint /bin/bash <image> -l -c
影像名稱之后的所有內容都作為引數傳遞給新入口點。
或者,如果你希望你會再次這樣做,我會推薦:
完全創建一個新影像
docker commit:$ docker run -d <image> 89373736 $ docker commit --change='ENTRYPOINT ["/bin/bash", "-l", "-c"]' 89373736 mynewimage撰寫自定義 Dockerfile:
FROM <image> ENTRYPOINT ["/bin/bash", "-l", "-c"]然后構建它:
docker build -t mynewimage .
您最終會得到一個mynewimage具有所需入口點的新影像 ( )。
uj5u.com熱心網友回復:
如果您無法擴展影像,您可以通過設定/bin/bash為入口點然后將其余引數作為引數傳遞給容器來實作。
例如:
docker run --entrypoint /bin/bash ubuntu -c ls
ls在您的容器內運行。docker run不接受用引號括起來的句子,因為它會嘗試找到命名的可執行檔案/bin/bash -c -l并且會失敗。所以你只剩下那個或設定一個自定義入口點腳本。
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/505082.html
標籤:码头工人 dockerfile
上一篇:為什么stop或rmwithprofiles會停止所有服務?
下一篇:帶有docker-compose應用程式的GoogleJib,在將映像重建到Docker守護程式后重新啟動應用程式的快速方法
