Docker 是一种轻量级的虚拟化解决方案,广泛应用于开发和生产环境。本文将介绍如何在欧拉操作系统或OpenCloudOS上安装和配置 Docker。
1.系统准备
首先,确保你的系统软件包是最新的:
sudo yum update -y
2.添加 Docker 仓库
添加 Docker 官方仓库:
sudo dnf config-manager --add-repo=https://repo.huaweicloud.com/docker-ce/linux/centos/docker-ce.repo
然后将仓库地址替换为华为云镜像地址:
sudo sed -i 's+download.docker.com+repo.huaweicloud.com/docker-ce+' /etc/yum.repos.d/docker-ce.repo
将 $releasever 替换为 8:
sudo sed -i 's+\$releasever+8+' /etc/yum.repos.d/docker-ce.repo
3.安装 Docker
使用以下命令安装 Docker:
yum remove runc
sudo yum install docker-ce docker-ce-cli containerd.io -y
4.启动并启用 Docker 服务
启动 Docker 服务并设置为开机自启动:
sudo systemctl start docker
sudo systemctl enable docker --now
5.验证 Docker 安装
运行以下命令检查 Docker 版本:
docker --version
你应该看到类似以下的输出:
Docker version 26.1.3, build b72abbb
接下来,运行 hello-world 容器来验证 Docker 是否正确安装:
sudo docker run hello-world
如果输出包含 “Hello from Docker!” 字样,说明 Docker 安装成功。
6.配置 Docker 组(可选)
为了避免每次运行 Docker 命令都需要使用 sudo,可以将当前用户添加到 Docker 组:
sudo usermod -aG docker $USER
然后重新登录以使组更改生效,或者运行以下命令:
newgrp docker
7.在国内使用 Docker 时,配置国内镜像源可以加快镜像下载速度
1.创建或编辑 /etc/docker/daemon.json 文件:
sudo vim /etc/docker/daemon.json
2.添加国内镜像源配置:
将以下内容复制并粘贴到 daemon.json 文件中:
{
"registry-mirrors": [
"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",
"https://docker.mirrors.ustc.edu.cn",
"https://mirror.iscas.ac.cn",
"https://dockerhub.icu",
"https://docker.rainbond.cc"
],
"log-driver": "json-file",
"log-opts": {
"max-size": "10m",
"max-file": "3"
},
"storage-driver": "overlay2"
}
3.保存文件并退出编辑器:
按 Ctrl+O 保存文件,然后按 Ctrl+X 退出编辑器。
4.重启 Docker 服务:
sudo systemctl daemon-reload
sudo systemctl restart docker
5.验证配置:
docker info
查看输出中是否包含你配置的镜像源信息。
8.docker的daemon.json文件常用参数如下:
1.registry-mirrors
作用:配置Docker镜像加速器地址,加速镜像下载速度。
示例:
"registry-mirrors": ["https://mirror.ccs.tencentyun.com"]
2.log-driver
作用:配置Docker容器的日志驱动,用于将容器的日志输出到文件或者标准输出中。
示例:
"log-driver": "json-file"
3.log-opts
作用:配置Docker容器的日志选项,例如日志文件的最大大小、最多保留的日志文件数等。
示例:
"log-opts": {
"max-size": "10m",
"max-file": "3"
}
4.storage-driver
作用:配置Docker容器的存储驱动,用于管理容器的文件系统。
示例:
"storage-driver": "overlay2"
5.bip
作用:配置Docker网桥的IP地址,用于容器之间的通信。
示例:
"bip": "172.16.0.1/24"
6.fixed-cidr
作用:配置Docker网桥的子网地址,用于容器之间的通信。
示例:
"fixed-cidr": "172.16.0.0/24"
7.mtu
作用:配置Docker网桥的MTU值,用于容器之间的通信。
示例:
"mtu": 1500
8.live-restore
作用:配置Docker是否启用容器的实时恢复功能,用于在Docker守护进程崩溃或重启时自动恢复容器。
示例:
"live-restore": true
9.default-ulimits
作用:配置Docker容器的默认资源限制,例如CPU、内存、文件描述符等。
示例:
"default-ulimits": {
"nofile": {
"Name": "nofile",
"Hard": 65536,
"Soft": 65536
}
}