docker是目前开发市场中的一个非常流行的组件,他可以通过资源隔离和空间隔离的手段构建容器,每个容器内部都存在一套精简版的操作系统,我们可以把程序部署在容器内,这样就避免了程序上线时因为环境问题而造成的一系列繁琐步骤。docker-compose可以方便的对构建好的数个容器进行编排和运行。本篇文章就对docker和docker-compose的下载进行一个详细的教程。
检查docker安装环境
1.检查服务器的CPU和操作系统版本是否为docker支持的版本。
操作系统版本需要为18.04及以上,CPU需要为ARM或者X86_64
使用命令uname -a检查CPU,使用cat /etc/*release*检查操作系统版本。
2.卸载已有的docker
docker早期版本并不叫docker,而是为docker.io
docker早期版本的卸载命令:
代码语言:javascript复制sudo apt-get remove docker docker-engine docker.io containerd runc
docker近期版本的卸载命令:
代码语言:javascript复制sudo apt-get purge docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin docker-ce-rootless-extras -y
需要注意docker与mysql类似,在软件卸载之后并不会删除已有的容器/数据库如果想要彻底卸载,需要删除docker以及容器所在目录
代码语言:javascript复制#删除目录
sudo rm -rf /var/lib/docker
sudo rm -rf /var/lib/containerd
安装docker
1.创建目录
代码语言:javascript复制mkdir -m 0775 -p /usr/share/keyrings/
2.下载GPG秘钥
代码语言:javascript复制curl -fsSL https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
3.添加Docker的APT源
代码语言:javascript复制echo "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
4.更新APT包索引并安装Docker
代码语言:javascript复制sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin -y
5.运行docker并配置镜像加速器
代码语言:javascript复制#配置加载
sudo systemctl daemon-reload
#启动服务
sudo systemctl start docker
#开启启动
sudo systemctl enable docker
#查看服务状态
sudo systemctl status docker
#配置镜像加速器
vim /etc/docker/daemon.json
{
"registry-mirrors": [
"https://docker.m.daocloud.io",
"https://dockerhub.timeweb.cloud",
"https://huecker.io"
]
}
输入docker-version查看安装版本
安装docker-compose
使用apt命令下载
代码语言:javascript复制apt install docker-compose
输入docker-compose检查是否安装成功
Docker 是一个开放源代码的应用程序容器引擎,可以帮助用户轻松地打包、分发和运行任何应用程序,并且具有开发效率高、部署便捷等优点。
Docker Compose 是 Docker 的一个,可以帮助用户定义和运行多容器 Docker 应用程序。使用 Docker Compose 可以更轻松地管理多个容器的应用程序,例如在本地或云平台上构建和部署微服务程序。