前言
随着云计算和微服务架构的兴起,Docker作为一种轻量级的容器技术,已经成为现代软件开发和运维中的重要工具。本文旨在为初学者提供一份详尽的指南,帮助他们在CentOS系统上安装和配置Docker及相关组件,如Docker Compose和私有Docker镜像仓库。
1. 准备工作
在开始安装之前,请确保您的CentOS系统满足以下条件:
- 操作系统版本:CentOS 7 或更高版本,64位系统。
- 内核版本:至少为3.10。
- 网络连接:确保虚拟机能够连接到互联网,因为安装过程中需要从远程仓库下载软件包。
1.1 卸载旧版本Docker(可选)
如果您之前安装过Docker,建议先卸载旧版本以避免冲突。执行以下命令卸载旧版本的Docker:
sh
sudo yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-selinux \
docker-engine-selinux \
docker-engine \
docker-ce
2. 安装Docker
接下来,我们将逐步安装最新的Docker CE(社区版)。
2.1 检查网络连接
确保您的虚拟机能够访问互联网:
sh
ping 163.com
如果能够收到回复,说明网络连接正常。
2.2 安装必要的依赖
安装一些必要的工具和依赖包:
sh
sudo yum install -y yum-utils \
device-mapper-persistent-data \
lvm2 --skip-broken
2.3 添加Docker的官方仓库
使用阿里云的镜像源来加快下载速度:
sh
sudo yum-config-manager \
--add-repo \
https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
2.4 更新本地镜像源并安装Docker
更新本地镜像源并安装Docker CE:
sh
sudo yum makecache fast
sudo yum install -y docker-ce
安装完成后,您可以使用以下命令检查Docker的版本:
sh
docker -v
输出示例:
Docker version 20.10.7, build f0df3c0
3. 启动Docker服务
在启动Docker服务之前,建议关闭防火墙以避免端口冲突的问题。
3.1 关闭防火墙
sh
sudo systemctl stop firewalld
sudo systemctl disable firewalld
sudo systemctl status firewalld
3.2 启动Docker服务
启动Docker服务:
sh
sudo systemctl start docker
您可以使用以下命令检查Docker服务的状态:
sh
sudo systemctl status docker
输出示例:
● docker.service - Docker Application Container Engine
Loaded: loaded (/usr/lib/systemd/system/docker.service; disabled; vendor preset: disabled)
Active: active (running) since Wed 2024-11-06 20:22:00 CST; 1min 30s ago
4. 配置Docker镜像加速
为了提高镜像下载速度,推荐使用国内的镜像加速器。
4.1 创建或编辑配置文件
创建或编辑 /etc/docker/daemon.json
文件:
sh
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["http://hub-mirror.c.163.com", "https://docker.mirrors.ustc.edu.cn"]
}
EOF
4.2 重新加载Docker守护进程配置
重新加载Docker守护进程配置并重启Docker服务:
sh
sudo systemctl daemon-reload
sudo systemctl restart docker
5. 安装Docker Compose
Docker Compose允许您在一个YAML文件中定义多个容器的应用场景,非常适合开发环境的构建。
5.1 下载Docker Compose
下载最新版本的Docker Compose:
sh
sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
5.2 修改文件权限
修改文件权限以使其可执行:
sh
sudo chmod +x /usr/local/bin/docker-compose
5.3 验证安装
验证Docker Compose是否安装成功:
sh
docker-compose --version
输出示例:
docker-compose version 1.29.2, build 5becea4c
5.4 启用命令补全(可选)
为了方便使用,您可以启用Docker Compose的命令补全功能:
sh
sudo curl -L https://raw.githubusercontent.com/docker/compose/1.29.1/contrib/completion/bash/docker-compose > /etc/bash_completion.d/docker-compose
如果遇到网络问题导致下载失败,可以尝试手动下载文件并通过SCP等方式上传至服务器。
6. 搭建私有Docker镜像仓库
搭建私有镜像仓库可以帮助团队更好地管理和分发自定义的Docker镜像。
6.1 简化版镜像仓库
使用官方的Docker Registry镜像来启动一个简单的私有仓库:
-
创建一个数据目录(可选):
shmkdir -p ~/docker-registry cd ~/docker-registry
-
运行Docker Registry容器:
shsudo docker run -d \ --restart=always \ --name registry \ -p 5000:5000 \ -v $(pwd)/registry-data:/var/lib/registry \ registry
-
访问私有仓库:
打开浏览器并访问
http://<your-ip>:5000/v2/_catalog
查看当前私有镜像服务中包含的镜像。
6.2 带有图形界面的镜像仓库
如果您需要更友好的界面操作,可以使用第三方的UI工具,例如 joxit/docker-registry-ui
:
-
创建一个
docker-compose.yml
文件:shnano docker-compose.yml
-
编辑文件,添加以下内容:
yamlversion: '3.0' services: registry: image: registry volumes: - ./registry-data:/var/lib/registry ui: image: joxit/docker-registry-ui:static ports: - 8080:80 environment: - REGISTRY_TITLE=您的仓库名称 - REGISTRY_URL=http://registry:5000 depends_on: - registry
-
启动服务:
shsudo docker-compose up -d
-
访问图形化界面:
打开浏览器并访问
http://<your-ip>:8080
查看图形化的管理界面。
6.3 配置Docker信任私有仓库
为了让Docker客户端信任您的私有仓库,需要编辑 /etc/docker/daemon.json
文件,添加私有仓库的地址:
-
编辑配置文件:
shsudo vi /etc/docker/daemon.json
-
添加以下内容,替换
<your-ip>
为您的服务器IP地址:json{ "insecure-registries": ["<your-ip>:5000"] }
-
重新加载Docker守护进程配置并重启Docker服务:
shsudo systemctl daemon-reload sudo systemctl restart docker
总结
通过以上步骤,您已经在CentOS系统上成功安装并配置了Docker及其相关组件。
教程文档PDF版(蓝奏云下载地址)直接下载永久保存,不限速,方便随时查阅
资源预览: