什麼是Docker
Docker是基於Go語言實現的開源容器項目;Docker的構想是實現Build、Ship and Run Any App, Anywhere,即通過對應用的封裝(packaging)、分發(Distribution)、部署(Deployment)、運行(Runtime)生命週期進行管理,達到應用組件“一次封裝,到處運行”的目的。Docker容器可以理解爲一種輕量級的沙盒。每個容器內運行者一個應用,不同的容器相互隔離,容器之間也可以通過網絡互相通信。
Docker的優勢
- 快速的交付和部署:Docker可以快速創建和刪除容器,實現快速迭代,大量節約開發、測試、部署時間
- 高效的資源利用:Docker容器的運行環境不需要額外的虛擬化管理程序支持,它是內核級的虛擬化,需要更少資源,更高性能
- 快速遷移和擴展:應用可以在不同平臺之間輕鬆地遷移應用,包括物理機、虛擬機、公有云、私有云、個人電腦等等
- 簡單的更新管理:使用Dockfile,只需要小小的配置修改,可以替代大量的更新工作
Docker安裝
省略
將當前用戶加入docker用戶組
避免每次使用Docker命令都要用特權身份,可以將當前用戶加入安裝中自動創建的docker用戶組:
sudo usermod -aG docker USER_NAME
常用命令
-
查看鏡像
docker images
-
使用tag命令添加鏡像標籤
docker tag ubuntu:latest myubuntu:latest
-
使用inspect命令查看詳情
docker inspect
-
使用history命令查看鏡像歷史
docker history ubuntu:14.04
-
搜尋鏡像
docker search --automated -s 3 nginx
-
使用標籤刪除鏡像
docker rmi myubuntu:latest
這裏只刪除一個標籤,當剩下最後一個標籤刪除完,這個鏡像才被刪除
-
使用鏡像ID刪除鏡像
docker rmi 鏡像ID
### 創建鏡像
-
基於已有鏡像的容器創建
創建一個容器$ docker run -it ubuntu:14.04 /bin/bash
$ docker commit -m "提交消息,註釋" -a "作者信息" 容器ID 鏡像名稱:標籤
-
基於本地模板導入
$ cat ubuntu-14.04-x86_64-mininal.tar.gz | docer import - ubuntu:14.04
### 存出和導入鏡像
-
存出鏡像
$ docker save -o ubuntu_14.04.tar ubuntu:14.04
-
載入鏡像
$ docker load --input ubuntu_14.tar $ docker load < ubuntu_14.04.tar
上傳鏡像
$ docker push Name:[:TAG] [REGISTRY_HOST[:REGISTRY_PORT]/]NAME[:TAG]
$ docker tag test:latest user/test:latest
$ docker push user/test:latest