docker的架構(gòu)
docker客戶端——docker主程序(服務(wù)蜕猫、鏡像箫踩、容器)——docker倉庫(公共、私有)
鏡像和容器的關(guān)系
鏡像(類)是從docker倉庫拉取的感憾,可以復(fù)用蜡励,但不可以更改;
容器(對象)是基于鏡像的運行實體阻桅,每個容器都是一個獨立的應(yīng)用系統(tǒng)凉倚,可以更改。
docker服務(wù)操作命令
- 啟動
systemctl start docker
- 停止
systemctl stop docker
- 重啟
systemctl restart docker
- 查看狀態(tài)
systemctl status docker
- 設(shè)置開機啟動
systemctl enable docker
docker鏡像操作命令
- 查看鏡像
docker images #查看所有鏡像
docker images -q #查看所有鏡像的id
查看鏡像
- 搜索鏡像
docker search mysql(鏡像名稱)
- 從docker倉庫拉取鏡像
docker pull mysql(鏡像名稱)
docker pull mysql:5.7(鏡像名稱:版本)
- 刪除鏡像
docker rmi 鏡像id #刪除制定本地鏡像
docker rmi 'docker images -q' #刪除所有本地鏡像
docker容器相關(guān)命令
- 查看容器
docker ps #查看正在運行的容器
docker ps -a #查看所有容器
- 創(chuàng)建并啟動容器
docker run 參數(shù)
# 創(chuàng)建后直接進(jìn)入容器嫂沉,并且退出后關(guān)閉容器
docker run -it nginx:latest --name=myNginx /bin/bash
# 創(chuàng)建后不會進(jìn)入容器稽寒,需要通過exec命令進(jìn)入退出不會關(guān)閉容器
docker run -id nginx:latest --name=myNginx /bin/bash
- 進(jìn)入容器
docker exec -it myNginx /bin/bash # 方式一:通過容器name進(jìn)入
docker exec -it 容器id /bin/bash # 方式二:通過容器id進(jìn)入
- 啟動容器
docker start myNginx # 通過容器name啟動容器
docker start 容器id # 通過容器id啟動容器
- 停止容器
docker stop myNginx # 通過容器name停止容器
docker stop 容器id # 通過容器id停止容器
- 刪除容器
# 不能刪除運行中的容器
docker rm myNginx # 通過容器name刪除容器
docker rm 容器id # 通過容器id刪除容器
docker ps -aq #刪除所有容器
- 查看容器信息
docker inspect myNginx # 通過容器name查看容器信息
docker inspect 容器id # 通過容器id查看容器信息
容器的數(shù)據(jù)卷
配置數(shù)據(jù)卷
# 創(chuàng)建容器的時候掛載
docker run ... -v 宿主機目錄名(或文件名):容器目錄名(或文件名)
# 運行或進(jìn)入容器的時候掛載
docker exec ... -v 宿主機目錄名(或文件名):容器目錄名(或文件名)
#舉例
docker run -it --name=myNginx -v /root/data1:/root/data2 nginx:lastest
多個-v可以掛載多個數(shù)據(jù)卷
配置數(shù)據(jù)卷容器
數(shù)據(jù)卷在宿主機的位置:
1.宿主機掛載的文件夾
2.數(shù)據(jù)卷容器在宿主機中的位置
/var/lib/docker/數(shù)據(jù)卷名稱/容器id/文件夾名稱