一、常見問題
1.鏡像的容器運(yùn)行時(shí),如果未提供ip a或者ifconfig命令,所有用法以下兩種方查看容器ip:
1)切換到某個(gè)容器:docker attach xxxx (比如docker attach nginx)
;然后cat /etc/hosts;
2)直接在宿主機(jī)執(zhí)行命令:docker inspect xxxx (比如docker inspect nginx)
;
會回顯一個(gè)json串信息,就包含了查詢的容器ip;
創(chuàng)新互聯(lián)-專業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設(shè)、高性價(jià)比洛川網(wǎng)站開發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫,直接使用。一站式洛川網(wǎng)站制作公司更省心,省錢,快速模板網(wǎng)站建設(shè)找我們,業(yè)務(wù)覆蓋洛川地區(qū)。費(fèi)用合理售后完善,10多年實(shí)體公司更值得信賴。
2.啟動容器時(shí)報(bào)錯(cuò):找不到/bin/bash
可以在啟動容器時(shí)不指定解釋器/bin/bash,即:docker run -it -d --name ng nginx:latest
而不要使用如下命令docker run -it -d --name ng nginx:latest /bin/bash
3.無法附著到容器,即docker attach沒反應(yīng)
可以在容器已經(jīng)運(yùn)行的情況下,使用下面命令(注意一定時(shí)docker容器已經(jīng)運(yùn)行):docker exec -it CONTAINER ID /bin/bash 或者 docker exec -it NAME /bin/bash
CONTAINER ID和NAME表示已運(yùn)行的容器ID和容器名;但是這種方式,每執(zhí)行一個(gè)命令,都要在docker容器內(nèi)開啟一個(gè)新的進(jìn)程;
以這種方式切換到容器后,如果通過exit,ctrl+C,ctrl+D方式退出,容器并不會停止運(yùn)行,所以這是一種比較保險(xiǎn)的方式,防止誤停止容器運(yùn)行;
4.從docker hub官方鏡像站pull的鏡像,運(yùn)行的容器缺少命令
我從docker官網(wǎng)拉取了nginx鏡像,運(yùn)行后進(jìn)入容器內(nèi)部,發(fā)現(xiàn)沒有wget命令,然后理所當(dāng)然的安裝wget命令:apt-get -y install wget
但是又會報(bào)下面的錯(cuò)誤:
這是因?yàn)樽畛醯溺R像運(yùn)行的容器中,軟件源中的所有軟件列表(即/erc/apt/sources.list)未更新導(dǎo)致;執(zhí)行以下命令后,再進(jìn)行安裝即可;apt-get update
如果公司不支持外網(wǎng)鏈接,無法更新軟件源,則可在公司內(nèi)部的鏡像站上搜debian,然后然后使用說明,手動替換/erc/apt/sources.list文件內(nèi)容即可;