鏡像與容器
簡(jiǎn)單來(lái)講,鏡像就是別人封裝好的一些環(huán)境的docker包,可以認(rèn)為是編程語(yǔ)言中對(duì)象的概念。
而容器則是一個(gè)實(shí)例,從鏡像生成一個(gè)容器(像從類(lèi)中實(shí)例化一個(gè)對(duì)象)來(lái)為我們進(jìn)行個(gè)性化的使用。
代碼部分
sudo docker pull [image]將鏡像下載到本地!
例如:sudo docker pull ufoym/deeposudo docker run --runtime=nvidia -it [image] bash
例如:sudo docker run --runtime=nvidia -it ufoym/deepo bash
這個(gè)方式可以以命令行交互的形式生成一個(gè)容器,由于程序是需要在顯卡 上跑的,所以加了runtime=nvidia; 在這里一定要先安裝nvidiadocker才能指定runtime
注意:當(dāng)需要進(jìn)行端口映射如使用jupyter, pycharm時(shí),需要在此處指出服務(wù)器端口和容器內(nèi)部端口的映射
后面的bash說(shuō)明在里面執(zhí)行bash命令
在創(chuàng)建好一個(gè)容器后,會(huì)進(jìn)入該容器,在屏幕左側(cè)會(huì)出現(xiàn)如root@95bd815d9e這樣的一串?dāng)?shù)字,該串?dāng)?shù)字非常重要 相當(dāng)于是這個(gè)容器的ID,來(lái)讓我們下次進(jìn)入的時(shí)候能夠識(shí)別進(jìn)入的是哪個(gè)容器。
之后進(jìn)入該容器的時(shí)候 ,輸入
sudo docker exec -it containerID /bin/bash
例如:sudo docker exec -it 95bd815d9e /bin/bash,就可以在容器中搞事情了。-
第一次運(yùn)行了sudo docker run之后,再退出時(shí)會(huì)默認(rèn)關(guān)閉該容器,第二次進(jìn)入時(shí)需要輸入sudo docker run containerID 將容器開(kāi)啟,如下圖所示
開(kāi)啟容器.png
shell 腳本一鍵進(jìn)入
每次輸入一長(zhǎng)串命令可能會(huì)比較麻煩。在此教大家如何寫(xiě)一個(gè)簡(jiǎn)單的shell腳本進(jìn)入自己的docker容器,先輸入vim exec.sh,隨后輸入如下指令,用Esc鍵+:wq命令保存退出后,以后都可以之間使用 sh exec.sh進(jìn)入容器了。

