Docker 是一個開源的應用容器引擎,讓開發者可以打包他們的應用以及依賴包到一個可移植的容器中,然后發布到任何流行的 Linux 機器上,也可以實現虛擬化。容器是完全使用沙箱機制,相互之間不會有任何接口。Docker 使用客戶端-服務器 (C/S) 架構模式,使用遠程API來管理和創建Docker容器。Docker 容器通過 Docker 鏡像來創建。容器與鏡像的關系類似於面向對象編程中的對象與類。
原文地址:代碼匯個人博客 http://www.codehui.net/info/60.html
測試環境:centos7.6
Docker安裝
- 環境要求
Docker 要求 CentOS 系統的內核版本高於 3.10 ,查看本頁面的前提條件來驗證你的CentOS 版本是否支持 Docker 。
通過 uname -r
命令查看你當前的內核版本
[root@localhost ~]# uname -r
3.10.0-957.5.1.el7.x86_64
- 安裝docker
使用yum
安裝和腳本兩種安裝方法都可以,親測yum
能快點。注意使用sudo
或root
權限登錄Centos
。
# 先更新下yum包
sudo yum update
# 使用yum安裝
yum install -y docker
# 使用腳本安裝
curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh
- 啟動docker
# 啟動docker
sudo systemctl start docker
# 重啟docker
sudo systemctl restart docker
- 查看docker版本
[root@localhost ~]# docker --version
Docker version 18.09.2, build 6247962
- 設置鏡像加速
vi /etc/docker/daemon.json
{
"registry-mirrors": ["http://hub-mirror.c.163.com"]
}
- 設置開機自啟
# 設置開機啟動
systemctl enable docker
# 將指定用戶添加到用戶組
usermod -aG docker root
Docker常用命令
1. docker version
顯示docker版本信息
2. docker info
顯示docker系統信息
3. docker search
從Docker Hub查找鏡像
docker search php
查找php的鏡像
4. docker images
列出本地鏡像
5. docker ps
列出所有在運行的容器信息
docker ps -a
顯示所有的容器,包括未運行的
6. docker pull
從鏡像倉庫中拉取或者更新指定鏡像
docker pull codehi/nginx:v1
拉取自己倉庫的nginx鏡像
7 docker start/stop/restart
啟動/停止/重啟容器
docker stop mynginx
停止運行中的容器mynginx
8. docker rm
刪除一個或多個容器
docker rm mynginx
刪除容器mynginx,正在運行中的容器需要stop后才能刪除,或者使用強制刪除。
docker rm -f mynginx
強制刪除運行中的容器mynginx
9. docker rmi
刪除本地一個或多個鏡像
docker rmi codehi/nginx:v1
刪除鏡像codehi/nginx:v1
docker rmi -f codehi/nginx:v1
強制刪除
10. docker logs
獲取容器的日志
docker logs -f mynginx
跟蹤容器mynginx的日志,實時輸出的。
11. docker history
查看指定鏡像的創建歷史
docker history codehi/nginx:v1
查看本地鏡像codehi/nginx:v1的創建歷史
12. docker login
登陸到一個Docker鏡像倉庫,如果未指定鏡像倉庫地址,默認為官方倉庫 Docker Hub
docker login
登錄至Docker Hub,下一步會提示輸入賬號密碼
13. docker logout
登出Docker Hub
14. docker push
將本地的鏡像上傳到鏡像倉庫,要先登陸到鏡像倉庫
docker push codehi/nginx:v1
將本地鏡像codehi/nginx:v1鏡像推送到docker hub倉庫中
15. docker commit
從容器創建一個新的鏡像
docker commit -a "codehui" -m "test" 3218b3ad4e47 codehi/nginx:v1
3218b3ad4e47 保存為新的鏡像codehi/nginx:v1,並添加提交人信息(codehui)和說明信息(test)
16. docker tag
標記本地鏡像,將其歸入某一倉庫
docker tag nginx:v1 codehi/nginx:v2
將鏡像nginx:v1標記為 codehi/nginx:v2 鏡像
17. docker save
將指定鏡像保存成 tar 歸檔文件
docker save -o codehi-nginx-v1.tar codehi/nginx:v1
將鏡像codehi/nginx:v1生成codehi-nginx-v1.tar歸檔文件
18. docker load
從歸檔文件中創建鏡像
docker load -i codehi-nginx-v1.tar
從鏡像歸檔文件codehi-nginx-v1.tar創建鏡像
19. docker export
將文件系統作為一個tar歸檔文件導出到STDOUT
docker export -o codehi-nginx-v1.tar mynginx
將容器mynginx保存為tar文件。
20. docker import
從歸檔文件中創建鏡像
docker import codehi-nginx-v1.tar codehi-nginx-v1
從鏡像歸檔文件codehi-nginx-v1.tar創建鏡像,命名為codehi-nginx-v1
21. docker kill
殺掉一個運行中的容器
docker kill -s KILL mynginx
殺掉運行中的容器mynginx
這些命令比較常用,其他的可以自行查看文檔:docker基本命令