3 回答

TA貢獻1951條經驗 獲得超3個贊
在搭建開發環境時,我們都希望搭建過程能夠簡單,并且一勞永逸,其他的同事可以復用已經搭建好的開發環境以節省開發時間。而在搭建開發環境時,我們經常會被復雜的配置以及重復的下載安裝所困擾。在Docker技術未出現之前,我們可以使用Pupet、Chef、Ansible等配置管理工具把復雜的配置管理起來,這樣的管理配置技術仍然是目前比較流行的方式之一。配置管理工具使用的都是自己的DSL語法定義,考慮到環境的復雜性,配置一套通用的開發環境需要針對各個系統定制,對于大部分開發環境這種維護成本仍然是很高的。Docker技術出現之后,系統的依賴問題得到了徹底的解決,我們可以通過鏡像的方式簡化環境的安裝。結合Docker的開發部署工具Fig,我們可以使用fig.yml文件來定義所有的環境,一次定義,多處使用,簡單而且高效。

TA貢獻1880條經驗 獲得超4個贊
docker run指定的命令如果不是那些一直掛起的命令(比如運行top,不斷echo),就是會自動退出的。-d命令是設置detach為true,根據官方的文檔,意思是讓這個命令在后臺運行,但并不是一直運行(我們在一個正常的Linux Terminal中運行/bin/bash,運行完了也就完了,不會一直掛著等待響應的,所以確實沒辦法用daemon方式來跑/bin/bash)。
這個地方官方早期和現在的文檔也確實有些前后不一致,現在是detach,早期的文檔說指定-d以daemon方式來運行容器,可能存在一定的誤解。
另外,如果你需要跑容器里的bash,直接運行docker run -i -t CONTAINER_NAME /bin/bash 就可以了,如果覺得參數比docker attach多,可以設置一個別名(alias)來解決:
alias dockerbash='docker run -i -t CONTAINER_ID /bin/bash'
設置好別名后,直接運行dockerbash就可以進入容器的bash了
- 3 回答
- 0 關注
- 1241 瀏覽
添加回答
舉報