《Docker 》筆記 11 附錄A常見問題彙總

2021-07-27 10:57:10 字數 2752 閱讀 2739

楊保華 戴王劍 曹亞倫.《docker技術入門與實戰》 〔m〕.機械工業出版社,2023年2月∶p270-275.

1 映象相關

如何批量清理臨時映象檔案?

答:可使用sudo docker rmi $(sudo docker images -q -f dangling=true)命令。

如何檢視映象支援的環境變數?

答:可用sudo docker run image env命令。

本地映象檔案都存放在**?

答:都存放在/var/lib/docker/目錄下,,其中container存放容器資訊,graph存放映象資訊,aufs存放具體的映象層檔案。

構建docker映象應該遵循哪些原則?

答:盡量保持映象功能的明確和內容的精簡。要點包括:

2. 容器相關

容器退出後,通過docker ps 命令檢視不到,資料會丟失嗎?

答:不會丟失,只有刪除容器才會清除所有資料。

如何停止所有正在執行的容器?

答:可用sudo docker kill $(sudo docker ps -q)命令。

如何清理批量後台停止的容器?

答:可用sudo docker rm $(sudo docker ps -a -q)命令。

如何臨時退出乙個正在互動的容器的終端,而不終止它?

答:按ctrl-p ctrl-q。

很多應用容器都是預設後台執行的,怎樣檢視它們的輸出和日誌資訊?

答:使用docker logs命令,後面跟容器名稱或id資訊。

使用「docker port」命令對映容器的埠時,系統報錯:error:no public port '80' published for e7d817698b6f,是什麼意思?

答:

如何控制容器占用系統資源(cpu、記憶體)的份額?

答:在使用docker create命令建立容器或使用docker run建立並啟動容器時,可用-c|--cpu-shares[=0]引數來調整容器使用cpu的權重;使用-m|--memory[=memory]引數來調整容器使用記憶體的大小。

3. 倉庫相關

倉庫、註冊伺服器、註冊索引有何關係?

答:倉庫是存放一組關聯映象的集合。註冊伺服器是存放實際映象檔案的地方。註冊索引則負責維護使用者的賬號、許可權、搜尋、標籤等管理。因此,註冊伺服器利用註冊索引來實現認證等管理。

4. 配置相關

docker的配置檔案放在**,如何修改配置?

**答:**ubuntu系統的配置檔案是/etc/default/docker,centos系統的配置檔案放在/etc/sysconfig/docker。

如何更改docker的預設儲存位置?

**答:**docker預設儲存位置是/var/lib/docker,如果希望將docker的本地檔案儲存到其他分割槽,可用linux軟連線來實現。

5. docker與虛擬化

docker與lxc(linux container)有何不同?

**答:**lxc利用linux上相關技術實現了容器。docker則在如下的幾個方面進行了改造:

docker與vagrant有何不同?

答:兩者定位完全不同。

開發環境中docker和vagrant該如何選擇?

**答:**docker不是虛擬機器,而是程序隔離,對於資源的消耗很少。vagrant是虛擬機器上做的封裝,虛擬機器本身會消耗資源。

若本地使用的是osx或windows環境,需要開虛擬機器,單一開發環境下vagrant更簡單;多環境開發下推薦在vagrant內再使用docker進行環境隔離。

6. 其他問題

docker能在非linux平台上執行嗎?

答:可以,需要使用boot2docker等軟體建立乙個輕量級的linux虛擬機器層。

如何將一台宿主主機的docker環境遷移到另一台宿主主機?

答:停止docker服務。將整個docker儲存資料夾複製到另一台宿主主機,然後調整另一台宿主主機配置即可。

建立docker容器後,在宿主機用「ip netns show」為何看不到容器的網路名字空間?

**答:**docker建立容器後,刪除了/var/run/netsns目錄中的網路名字空間檔案,可手動恢復。

首先,使用下面命令檢視容器程序資訊,如這裡的1234.

$ sudo docker inspect --format='}' $container_id 1234

接下來,在/proc目錄下,把對應的網路名字空間檔案鏈結到/var/run/netns目錄

$ sudo ln -s /proc/1234/ns/net /var/run/netns/

然後,即可通過正常的系統命令來檢視或操作容器的名字空間了。如:

$ sudo ip netns show

docker常見錯誤處理筆記

使用yum install docker安裝完成後,使用systemctl start docker報錯如下 job for docker.service failed because the control process exited with error code.see systemctl ...

筆記 docker安裝oracle11g

記一次docker安裝oracle 11g,以及遇到的坑 磁碟空間預留多一些,否則無法啟動,我這邊預留了10g docker unzip解壓工具,如果沒有可以yum install unzip拉取 jaspeen oracle 11g,它可以幫助我們快速安裝oracle 建立oracle安裝目錄以及...

docker 常見命令

查詢映象 search centos7 一般docker 會有乙個基礎映象,中介軟體映象,應用映象,生成乙個映象 docker build 通過dockerfile生成映象 docker images 檢視當前本地有哪些docker映象 docker run 通過docker映象生成docker容器...