安装 docker 详解
在平常的开发工作中,我们经常需要部署项目。随着 Docker 容器的出现,大大提高了部署效率。Docker 容器包含了应用程序运行所需的所有依赖,避免了换环境运行问题。可以在短时间内创建、启动和停止容器,大大提高了应用的部署速度,能够快速响应业务需求的变化。那么,应该如何安装 docker 呢,下面总结一下 Docker 安装的基本步骤。
Docker 支持多种 Linux 系统,对于 CentOS 系统,通常建议使用 CentOS 7 及以上版本,以确保系统能提供良好的兼容性和性能支持。可以使用 cat /etc/redhat-release 命令或者 lsb_release -a 查看 Linux 系统的发行版本。下面总结下Centos 7 下安装 Docker的基本步骤。
1:卸载旧版 Docker
如果未安装 Docker,那么移步到步骤2开始安装。如果已经安装 Docker,需要卸载旧版本 Docker,那么使用如下命令:
sudo yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
卸载包括 docker
、docker-client
、docker-client-latest
、docker-common
、docker-latest
、docker-latest-logrotate
、docker-logrotate
和 docker-engine
。彻底移除旧版本 Docker 相关的程序和配置。
2:设置 Docker 存储库
安装 Docker ,需要先设置 Docker 的存储库,便于获取 Docker 相关软件包。
# 安装 yum-utils 包,它提供了 yum-config-manager 工具,yum-utils 提供的各种实用工具来更高效地管
# 理 yum 软件仓库和软件包
sudo yum install -y yum-utils
# 使用 yum-config-manager 添加 Docker 官方存储库
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
3:安装 Docker 引擎
通过yum
包管理工具安装了docker-ce
、docker-ce-cli
和containerd.io
这三个组件,搭建起 Docker 运行环境,使用户能够方便地进行容器化应用的部署和管理工作。
# 安装 Docker 社区版(Docker CE)及其 命令行界面工具 和 containerd
sudo yum install docker-ce docker-ce-cli containerd.io
4:启动 Docker 服务并设置开机自启
启动 Docker、停止 Docker
# 启动 Docker 服务
sudo systemctl start docker
# 停止 Docker 服务
sudo systemctl stop docker
# 设置 Docker 服务开机自启
sudo systemctl enable docker
# 查看开机自启是否设置成功
# 如果输出信息为 enabled,则表示 Docker 服务已成功设置为开机自启
# 如果输出信息为 disabled,则表示 Docker 服务未设置为开机自启
# 如果输出信息为 masked,表示该服务被禁用且无法启动
sudo systemctl is-enabled docker
5:设置镜像加速器
编辑 /etc/docker/daemon.json
配置文件,如果不存在则手动创建,内容如下,如果修改了配置文件文件,需要重新加载配置文件并重启 Docker。
{
"registry-mirrors": [
"https://docker.mirrors.ustc.edu.cn",
"https://dockerproxy.com",
"https://docker.nju.edu.cn",
"https://mirror.aliyuncs.com",
"https://docker.m.daocloud.io",
"https://hub.rat.dev",
"https://hub-mirror.c.163.com",
"https://mirror.ccs.tencentyun.com",
"https://mirror.baidubce.com",
"https://docker.mirrors.sjtug.sjtu.edu.cn",
"https://github.com/ustclug/mirrorrequest",
"https://registry.docker-cn.com"
]
}
重新加载 Docker 配置文件:systemctl daemon-reload
重启 Docker:systemctl restart Docker
6:验证 Docker 安装
# 查看 docker 运行状态
sudo systemctl status docker
# 测试拉取镜像是否能拉取镜像
docker run --rm hello-world
运行systemctl status docker,查看信息,如果输出中包含 Active: active (running),则说明 Docker 服务已经成功启动,并且 dockerd 进程正在持续运行。可以使用 Docker 来创建、运行和管理容器
docker run --rm hello-world 命令的主要功能是从 Docker Hub 拉取 hello-world 镜像(如果本地不存在该镜像),并基于此镜像创建一个新的容器来运行,运行结束后自动删除该容器。这个命令常被用于验证 Docker 是否正确安装和配置。
在执行命令后,首先提示 Unable to find image 'hello-world:latest' locally ,然后显示拉取镜像,最后显示 Status: Downloaded newer image for hello-world:latest,这表明 Docker 能够正常访问镜像仓库并下载镜像。如果 Docker 安装的有问题,可能会出现报错,导致无法拉取镜像。页面如下,则表面 Docker 安装成功。
7:Docker Compose 容器编排
Docker Compose 主要是容器编排,定义和运行多容器的工具。我们可以定义一个docker-compose.yml 文件,在里面可以定义多个服务,定义每个服务的镜像、容器名称、环境配置、端口信息、数据挂载、网络设置、重启方式等,里面可以定义多服务。文件编排完成后,可以通过
docker compose up -d 命令启动,可以看到具体的启动信息,命令后面带上 -d 命令窗口是非阻塞的,不阻塞当前命令窗口,不带 -d 可以在当前窗口查看容器启动的具体日志信息。关键命令如下:
启动所有容器:docker compose up -d
停止容器:docker stop 容器id / 容器名称
启动单个容器:docker compose up -d 服务名
删除容器:docker rm 容器id / 容器名称
删除镜像:docker rmi 镜像id
在 Docker 20.10 版本之前,安装完 Docker 之后,使用 Docker compose 需要进行单独安装。在 Docker 20.10 版本之后,Docker Compose 以插件的形式集成到 Docker 中,Docker安装完成,默认安装了 Docker Compose,使用 docker compose version 查看是否成功安装。
以上为安装 Docker 的基本步骤,主要是设置 Docker 存储库、安装 Docker 引擎 和 设置镜像加速器。使用 Docker Compose 容器编排,可以方便快捷的管理容器,进行容器的启动、停止等操作。