容器與鏡像的關系
容器是鏡像執行個體化而來,容器即程序,鏡像即檔案。一個鏡像可以啟動多個容器,鏡像類似于虛拟機中的隻讀模闆,屬于一個獨立的檔案系統。
docker也可以像虛拟機一樣,通過docker run/啟動、docker stop/停止、docker rm/删除,指令來控制容器啟動/停止/删除容器。
如何從鏡像建立容器
首先:
docker images
,擷取本地所有鏡像
例如我們要建立rabbitmq的容器,指令如下
docker run -d -p 5672:5672 -p 15672:15672 --name rabbitmq 80bd4b95a49d
其中的參數含義很顯然,-p 虛拟機端口:容器端口,是将虛拟機與容器的端口組成映射,當需要有多個端口映射時,就重複多少次。
如上圖,建立成功
啟動建立的容器:
可能遇到的問題
1.The container name “/xxxx” is already in use by container
此時:
docker ps -a
找到所有的容器,然後删除名稱重複的容器
docker rm xxxxxxxxx
xxxxxxxxx是容器的ID
2.端口被占用rror starting userland proxy: listen tcp 0.0.0.0:5672: bind: address already in use
通過如下指令檢視端口占用情況
netstat -tanlp
将對于程序編号7757殺死即可
sudo kill 7757