最近在使用docker進行開發時,發現容器中的bash對于我的需求來說有些多余,因為我只是需要運行一些指定的命令而已,不需要使用到終端。于是我開始尋找去掉bash的方法。
經過一番搜索,我發現可以在Dockerfile中將ENTRYPOINT設置為需要運行的命令,那么在運行容器時就不會默認啟動bash了。
FROM ubuntu:16.04 ENTRYPOINT ["/usr/bin/python"]
在上面的例子中,Dockerfile將基礎鏡像設置為ubuntu:16.04,然后將ENTRYPOINT設置為/usr/bin/python,也就是將容器的默認命令設置為python。這樣,在運行容器時,如果不提供額外的參數,容器將自動執行python。
如果需要傳遞參數,可以在docker run命令后面添加參數,例如:
docker run myapp arg1 arg2
上面的命令將運行名為myapp的鏡像,并傳遞arg1和arg2參數給ENTRYPOINT指定的命令。
使用上述方法可以方便地去掉bash,讓鏡像更加輕量級,適合在一些簡單應用場景下使用。