3 回答

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

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