码言物语

码言物语

CentOS 7上Docker安装与配置

2024-04-29

如果你已经熟悉基本的系统管理操作,并且想掌握如何在CentOS 7上高效地安装和配置Docker,那么这篇文章正是为你准备的。我们将深入探讨Docker的安装过程,包括一些基本配置选项。 Docker及其在CentOS 7上的重要性 Docker 是一个开源的应用容器引擎,它允许开发者将应用及其依赖

Docker及其在CentOS 7上的重要性
Docker 是一个开源的应用容器引擎,它允许开发者将应用及其依赖打包到一个轻量级、可移植的容器中。在系统上上安装Docker,意味着你可以利用其强大的功能来简化开发流程,实现快速迭代,以及无缝的跨平台部署。

准备工作

本次安装Docker使用的服务器为全新安装默认环境,不同系统上安装可能会有所差异.

基本环境安装

在CentOS 7上安装Docker之前,为了确保系统具备安装和管理Docker所需的依赖和工具,需要执行如下命令。

yum install -y yum-utils device-mapper-persistent-data lvm2
软件名称软件说明
yum-utilsyum 功能的实用工具集,用来创建和管理YUM存储库
device-mapper-persistent-data设备映射和数据卷管理的工具,帮助Docker管理数据卷和容器的持久化存储
lvm2磁盘管理方式,允许系统管理员创建、调整和删除逻辑卷。

综上所述,这些工具和库为Docker在CentOS 7上的稳定运行提供了必要的支持和依赖,确保了存储管理的高效性和系统的稳定性。在安装Docker之前安装这些依赖,可以避免在安装过程中遇到问题,从而使得整个安装过程更加顺畅,如你的系统已有这些工具和环境,可跳过当前安装步骤。

添加新存储库

以下命令提供了两种存储库设置方式,安装时选取其中一种存储库设置即可,在国内推荐使用阿里云。

# 阿里云镜像安装 [国内推荐]
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

# Docker官方默认安装地址
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo 

这个命令是安装Docker CE的先决条件之一,因为它允许你的系统访问包含Docker软件包的存储库。使用阿里云的镜像可以加快下载速度,特别是在中国大陆地区,因为阿里云提供了一个快速且稳定的Docker镜像服务。

安装docker

本次提供安装最新版本和安装指定版本,无论你是追求最新特性还是需要特定版本以确保兼容性,本次教程安装使用最新版本方式进行安装。

开始安装

# 安装最新版本
yum install docker-ce

# 指定版本安装 [可到 hub.docker.com] 查询版本列表.
yum install docker-ce-<VERSION_STRING>

启动docker

安装完成后,启动Docker服务以使其运行

systemctl start docker

验证安装

为了验证Docker是否安装成功,你可以运行以下命令

docker version

设置开机自启

设置当服务器重启时Docker能自动启动并运行

# 设置开机启动
systemctl enable docker

# 取消开机启动
systemctl disable docker

设置下载镜像加速地址

检查目录 /etc/docker 是否存在,不存在先创建 mkdir -p /etc/docker ,执行命令 vi /etc/docker/daemon.json 进行编辑,内容如下

{
  "registry-mirrors": [
    "https://docker.registry.cyou"
  ]
}

从下面挑选一个进行配置,可配置多个

https://mirror.gcr.io
https://docker.registry.cyou
https://docker-cf.registry.cyou
https://dockercf.jsdelivr.fyi
https://docker.jsdelivr.fyi
https://dockertest.jsdelivr.fyi
https://mirror.aliyuncs.com
https://dockerproxy.com
https://mirror.baidubce.com
https://docker.m.daocloud.io
https://docker.nju.edu.cn
https://docker.mirrors.sjtug.sjtu.edu.cn

完成之后需要执行以下命令进行重启和查询配置是否成功

# 重启docker 
systemctl restart docker 

# 查看docker 是否配置成功
docker info

安装docker-compose

Docker Compose 是 Docker 官方提供的一个开源工具,它允许用户通过 YAML 文件来配置应用程序中的多个容器。这个工具非常适合开发、测试和生产中的多容器应用程序的部署。

前置说明

安装可在 https://github.com/docker/compose/releases 查看版本列表,可使用命令 echo $(uname -s)-$(uname -m) 来查看操作系统基本信息,防止安装时出现架构选错问题.  在线安装 和 离线安装 二选一

在线安装

在线安装中的 {version} 需要手动指定版本号,可在 前置说明 中提供的地址进行查询

curl -L "https://github.com/docker/compose/releases/download/{version}/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

离线安装

前往 前置说明 中提供的地址进行版本号下载 , 并且把下载好的文件移动至 /usr/local/bin 并命名为 docker-compose 命令如下

mv docker-compose-linux-x86_64  /usr/local/bin/docker-compose

设置执行权限

chmod +x /usr/local/bin/docker-compose

验证安装

docker-compose --version

docker 常用命令

后续有更多命令会在当前列表添加

强制停止docker

一般在docker设置成开机启动时无法对docker进行停止操作,需要以下命令进行配合操作

# 停止docker
systemctl stop docker.socket

# docker状态
systemctl status docker

# 启动docker
systemctl start docker.socket

docker网卡管理

一般在启动容器时在不配置的情况下都会容器对应的网卡,以下命令对docker的风卡进行简单管理

# 路由表 当前为系统命令,非docker命令
route -n

# 网卡列表
docker network ls

# 删除网卡
docker network rm id

# 检查网段是否生效
docker network inspect bridge

docker 常见问题

docker常见问题汇总

构建缓存

清理构建缓存、构建中间镜像以及无标签的镜像

# 查看 Docker 磁盘占用情况
docker system df

# 清理构建缓存
docker builder prune

# 删除所有未使用的构建缓存、构建中间镜像以及无标签的镜像
docker builder prune --all --force

设置日志大小

容器运行过程中产生的日志大小配置

{
	"log-driver": "json-file",
	"log-opts": {
		"max-size": "50m",
		"max-file": "1"
	}
}

配置完成保存使用以下命令让配置生效

systemctl daemon-reload
systemctl restart docker

随着Docker和Docker Compose的安装完成,你已经为在CentOS 7上构建、部署和管理容器化应用程序打下了坚实的基础。通过本文,我们不仅覆盖了Docker的安装过程,还介绍了如何设置镜像加速器以优化下载速度,以及如何安装Docker Compose来简化多容器应用程序的部署和管理。

在使用Docker的过程中,请记得关注容器安全,合理配置资源,确保应用程序的稳定性和安全性。

最后,感谢你阅读本文。愿你在Docker的旅途中一帆风顺,创造出更多激动人心的项目。如果你对本文有任何反馈,或者想要了解更多关于容器技术的信息,欢迎在评论区留言或联系我们。