Docker 是一个开源的容器化平台,可以帮助我们快速构建、打包和运行应用程序。而 Docker Compose 则是用于管理多个容器应用的工具,可以轻松定义和管理多个容器之间的关系。现在,让我们开始安装过程吧!
apt安装
- sudo apt update
- apt install docker.io
- sudo systemctl status docker
配置镜像加速
vim /etc/docker/daemon.json
代码语言:javascript复制{
"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"}
}
重启docker守护进程
代码语言:javascript复制systemctl daemon-reload
systemctl restart docker
验证安装
docker -v
如果成功显示如下 Docker Compose 版本信息,则表示 Docker Compose 安装成功。
Docker version 23.0.5, build bc4487a
docker-compose描述及安装
docker-compose 概述
Compose 项目是 Docker 官方的开源项目,负责实现对 Docker 容器集群的快速编排。使用前面介绍的Dockerfile我们很容易定义一个单独的应用容器。然而在日常开发工作中,经常会碰到需要多个容器相互配合来完成某项任务的情况。例如要实现一个 Web 项目,除了 Web 服务容器本身,往往还需要再加上后端的数据库服务容器;再比如在分布式应用一般包含若干个服务,每个服务一般都会部署多个实例。如果每个服务都要手动启停,那么效率之低、维护量之大可想而知。这时候就需要一个工具能够管理一组相关联的的应用容器,这就是Docker Compose。
Compose重要的概念
- 项目(Project):由一组关联的应用容器组成的一个完整业务单元,在 docker-compose.yml 文件中定义。
- 服务(Service):一个应用的容器,实际上可以包括若干运行相同镜像的容器实例。
docker compose运行目录下的所有yml文件组成一个工程,一个工程包含多个服务,每个服务中定义了容器运行的镜像、参数、依赖。一个服务可包括多个容器实例。docker-compose就是docker容器的编排工具,主要就是解决相互有依赖关系的多个容器的管理。
docker-compose安装
从github上下载docker-compose二进制文件安装
- 下载最新版的docker-compose文件
官方文档地址:
https://docs.docker.com/compose/install/
下载地址:
https://github.com/docker/compose/releases/download/v2.5.0/docker-compose-linux-x86_64
- 添加可执行权限
cd /usr/local/bin/
mv docker-compose-linux-x86_64 docker-compose
sudo chmod x docker-compose
- 测试安装结果 docker-compose --version
Docker Compose version v2.5.0
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
- 使用其他镜像源:如果以上方法仍然无法解决问题,你可以尝试使用其他可靠的镜像源,例如华为云、网易云等。根据你的需求选择合适的镜像源,并按照它们提供的文档进行配置。