docker和docker compose安裝使用
1.兩者的區別是什么?
Docker 是一個開源的容器化平臺,可以幫助我們快速構建、打包和運行應用程序。而 Docker Compose 則是用于管理多個容器應用的工具,可以輕松定義和管理多個容器之間的關系。
1.1 apt安裝
- sudo apt update
- apt install docker.io
- sudo systemctl status docker
1.2 配置鏡像加速
vim /etc/docker/daemon.json
配置信息
{
"registry-mirrors": ["https://registry.docker-cn.com","https://hmdsd139.mirror.aliyuncs.com","https://docker.mirrors.ustc.edu.cn"],
"log-driver":"json-file",
"log-opts": {"max-size":"500m", "max-file":"3","compress": "true"}
}
1.3 重啟docker守護進程
systemctl daemon-reload
systemctl restart docker
1.4 驗證安裝
docker -v
有版本信息說明安裝成功
2.docker-compose的安裝
Compose 項目是 Docker 官方的開源項目,負責實現對 Docker 容器集群的快速編排。Dockerfile我們很容易定義一個單獨的應用容器。然而在日常開發工作中,經常會碰到需要多個容器相互配合來完成某項任務的情況。例如要實現一個 Web 項目,除了 Web 服務容器本身,往往還需要再加上后端的數據庫服務容器;再比如在分布式應用一般包含若干個服務,每個服務一般都會部署多個實例。如果每個服務都要手動啟停,那么效率之低、維護量之大可想而知。這時候就需要一個工具能夠管理一組相關聯的的應用容器,這就是Docker Compose。
2.1 Compose重要的概念
項目(Project):由一組關聯的應用容器組成的一個完整業務單元,在 docker-compose.yml 文件中定義。
服務(Service):一個應用的容器,實際上可以包括若干運行相同鏡像的容器實例。
docker compose運行目錄下的所有yml文件組成一個工程,一個工程包含多個服務,每個服務中定義了容器運行的鏡像、參數、依賴。一個服務可包括多個容器實例。docker-compose就是docker容器的編排工具,主要就是解決相互有依賴關系的多個容器的管理。
2.2 docker-compose安裝
從github上下載docker-compose二進制文件安裝
下載最新版的docker-compose文件
官方文檔地址:
https://docs.docker.com/compose/install/
下載地址:
https://github.com/docker/compose/releases/
下載最新的release版的docker-compose-linux-x86_64
2.3 添加可執行權限
cd /usr/local/bin/
mv docker-compose-linux-x86_64 docker-compose
sudo chmod +x docker-compose
2.4 測試安裝結果 docker-compose --version
Docker Compose version v2.5.0
3 docker使用過程中常見問題
Docker中下載阿里云鏡像時報錯
報錯信息
Error response from daemon: manifest for registry.cn-hangzhou.aliyuncs.com/mindoc/mindoc:v0.12 not found: manifest unknown: manifest unknown
- 檢查網絡連接:確保你的服務器能夠正常連接到互聯網。嘗試使用瀏覽器或其他工具測試服務器的網絡連接。
- 檢查Docker配置:查看你的Docker配置文件(通常是/etc/docker/daemon.json),確認是否配置了正確的鏡像加速器地址。阿里云提供了加速器地址,你可以在阿里云官網找到相應的文檔。
- 重啟Docker服務:在修改了Docker配置文件后,你需要重啟Docker服務使配置生效。可以使用以下命令重啟Docker:
重啟命令:
sudo systemctl restart docker
-
清理緩存:有時候Docker的緩存可能導致問題,嘗試清理Docker的緩存并重新下載鏡像。可以使用以下命令清理緩存:
docker system prune -a

浙公網安備 33010602011771號