我是基于ChatGPT-turbo-3.5实现的AI助手,在此网站上负责整理和概括文章
本文介绍了Docker在不同操作系统上的安装方法,包括前提条件、Windows 10安装、Ubuntu和CentOS系统的APT及YUM安装方式,并提供了Docker Compose插件的安装指南。文章还涵盖了Docker的配置文件设置、镜像仓库加速配置以及卸载步骤,详细说明了如何开启实验特性、配置存储选项和调整日志参数。摘要强调了兼容性要求和安装过程中的关键命令,确保用户能够顺利部署和管理Docker环境。
# 前提条件
- Docker支持以下的CentOS版本:
- 目前,CentOS 仅发行版本中的内核支持 Docker。
- Docker 运行在 CentOS 7 上,要求系统为64位、系统内核版本为 3.10 以上。
- Docker 运行在 CentOS-6.5 或更高的版本的 CentOS 上,要求系统为64位、系统内核版本为 2.6.32-431 或者更高版本。
# 查看内核
-
uname命令用于打印当前系统相关信息(内核版本号、硬件架构、主机名称和操作系统类型等)。$ uname -r 3.10.0-957.21.3.el7.x86_64 $ cat /etc/redhat-release CentOS Linux release 7.6.1810 (Core) $ lsb_release -a(CentOS6.8有,CentOS7无该命令) -
查看已安装的CentOS版本信息
# Docker安装
# 下载
- docker官网:http://www.docker.com
- docker中文网站:https://www.docker.org.cn/index.html
- Docker Hub官网: https://hub.docker.com/
# Windows 10 安装 Docker
Docker Desktop for Windows 支持 64 位版本的 Windows 10 Pro,且必须开启 Hyper-V(若版本为 v1903 及以上则无需开启 Hyper-V),或者 64 位版本的 Windows 10 Home v1903 及以上版本。
-
手动下载安装: 点击以下 [链接](https://desktop.docker.com/win/main/amd64/Docker Desktop Installer.exe) 下载 Docker Desktop for Windows。下载好之后双击
Docker Desktop Installer.exe开始安装。 -
使用 winget 安装
$ winget install Docker.DockerDesktop
# APT安装
-
登录到 Ubuntu 22.04 /20.04 系统,并运行以下 APT 命令以安装 Docker 依赖项
sudo apt install -y ca-certificates curl gnupg lsb-release apt-transport-https curl software-properties-common -
启用 Docker 官方存储库
$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg $ echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null -
国内源 软件源的 GPG 密钥(我用的中科大)
# 中科大 curl -fsSL https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu/gpg | sudo apt-key add - # 向 source.list 中添加 Docker 软件源 sudo add-apt-repository "deb [arch=amd64] https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu $(lsb_release -cs) stable" # 阿里源 curl -fsSL http://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add - sudo add-apt-repository "deb [arch=amd64] http://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable" -
使用 Apt 命令安装 Docker, 我们将安装社区版,运行下面的命令
$ sudo apt-get update $ sudo apt install docker-ce docker-ce-cli containerd.io -y # 也可以指定版本安装 sudo apt-get install docker-ce=<VERSION> -
docker 包安装完成后,请将本地用户加入 docker 组,以便该用户无需 sudo 即可执行 docker 命令
$ sudo usermod -aG docker $USER $ newgrp docker -
通过执行以下命令验证 Docker 版本
$ docker version -
验证 docker 守护进程服务状态,执行 systemctl 命令
sudo systemctl status docker -
验证和测试 Docker
docker run hello-world -
卸载 Docker
sudo apt-get remove docker docker-engine docker.io containerd runc -y # 删除所有映像、容器和数据卷: sudo rm -rf /var/lib/docker sudo rm -rf /var/lib/containerd
# YUM安装
-
安装docker-ce环境依赖
yum install -y yum-utils device-mapper-persistent-data lvm2 -
添加dockerce源
# 阿里云 yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo -
安装docker
# 安装 Docker CE docker-ce-cli 作用是docker命令行工具包 yum install -y docker-ce docker-ce-cli containerd.io docker-compose-plugin # 开机启动 systemctl enable docker # 启动 systemctl start docker systemctl status docker -
卸载 Docker
# 停止并删除所有正在运行的 Docker 容器: sudo docker stop $(docker ps -aq) sudo docker rm $(docker ps -aq) # 卸载 Docker 包和依赖项: sudo yum remove -y docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-selinux docker-engine-selinux docker-engine # 删除 Docker 数据目录: sudo rm -rf /var/lib/docker # 如果需要,卸载 Docker Engine 社区版存储库: sudo yum remove -y docker-ce-cli.x86_64 sudo rm -f /etc/yum.repos.d/docker-ce.repo
# 安装docker-compose插件
docker-compose是docker的一款插件,常用来定义和运行多容器的docker应用
docker-compose安装方式的主要可以分为两种,一是使用docker仓库进行安装,而是手动方式安装。
# 使用docker仓库安装
# 如果没有安装过docker主程序,可以在安装docker主程序的时候一并安装docker-compse
sudo yum -y install docker-ce docker-ce-cli containerd.io docker-compose-plugin
# 如果事前安装过docker主程序,可以选择只安装docker-compse
sudo yum -y install docker-compose-plugin
直接运行docker-compose命令会报错,提示命令找不到,这是因为docker-compose命令被安装到了/usr/libexec/docker/cli-plugins目录下,而这个目录默认不在path路径下,将/usr/libexec/docker/cli-plugins目录下的docker-compose命令复制或移动到/usr/bin目录下即可。
cp /usr/libexec/docker/cli-plugins/docker-compose /usr/bin
# 手动安装
下载到指定目录,建议直接放到path路径下,比如/usr/bin目录。
sudo curl -SL https://github.com/docker/compose/releases/download/v2.11.2/docker-compose-linux-x86_64 -o /usr/bin/docker-compose
# 赋予执行权限。
sudo chmod +x /usr/bin/docker-compose
通过docker-compose version命令验证是否安装成功,出现版本信息就是成功了。
[root@centos7 ~]# docker-compose version
Docker Compose version v2.18.1
# 一键安装
sudo yum install -y curl
bash <(curl -sSL https://gitee.com/SuperManito/LinuxMirrors/raw/main/DockerInstallation.sh)
# docker卸载
-
卸载软件包
yum -y remove docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-selinux docker-engine-selinux docker-engine -
删除服务注册文件
rm -rf /etc/systemd/system/docker.service.d -
删除docker库和运行文件
# 删除docker库 rm -rf /var/lib/docker # 删除运行文件 rm -rf /var/run/docker
# 开启实验特性
一些 docker 命令或功能仅当 实验特性 开启时才能使用,请按照以下方法进行设置。
# Docker CLI 的实验特性
从 v20.10 版本开始,Docker CLI 所有实验特性的命令均默认开启,无需再进行配置或设置系统环境变量。
# 开启 dockerd 的实验特性
编辑 /etc/docker/daemon.json,新增如下条目
{
"experimental": true
}
# Docker的配置文件
{
"bip": "192.168.88.0/22",
"data-root": "/var/lib/docker",
"debug": true,
"dns": ["192.168.1.1"],
"registry-mirrors": ["https://dockerproxy.com"],
"insecure-registries": ["120.123.122.123:12312"],
"log-opts": {
"max-file": "3",
"max-size": "10m"
},
"storage-opts": [
"overlay2.override_kernel_check=true",
"overlay2.size=15G"
]
}
| 参数 | 值 | 作用 |
|---|---|---|
bip |
"192.168.88.0/22" |
指定 Docker 网桥(docker0)的 IP 地址范围,避免与主机网络冲突。 |
data-root |
"/var/lib/docker" |
设置 Docker 存储镜像、容器、卷等数据的根目录(默认路径)。 |
debug |
true |
启用 Docker 守护进程的调试模式,输出更详细的日志信息。 |
dns |
["192.168.1.1"] |
指定容器使用的 DNS 服务器地址(覆盖默认 /etc/resolv.conf)。 |
registry-mirrors |
["https://dockerproxy.com"] |
设置镜像加速源,提升拉取镜像的速度(如国内镜像源)。 |
insecure-registries |
["120.123.122.123:12312"] |
允许通过 HTTP(非 HTTPS)访问私有镜像仓库(适用于内网或测试环境)。 |
log-opts |
{"max-file": "3", "max-size": "10m"} |
限制容器日志文件的大小(单个文件 10MB)和数量(最多 3 个文件)。 |
storage-opts |
["overlay2.override_kernel_check=true", "overlay2.size=15G"] |
配置存储驱动选项: - 跳过内核版本检查 - 限制存储层大小为 15GB。 |
# docker镜像仓库
国内下载镜像慢,设置docker的镜像仓库为国内的镜像地址
curl -sSL https://www.geekery.cn/sh/docker/set_docker_mirror.sh | bash
{
"registry-mirrors": [
"https://hub.icert.top/",
"https://ghcr.geekery.cn"
],
"exec-opts": [
"native.cgroupdriver=systemd"
],
"max-concurrent-downloads": 10,
"max-concurrent-uploads": 5,
"log-driver": "json-file",
"log-opts": {
"max-size": "100m"
},
"iptables": false,
"storage-driver": "overlay2"
}
# 重启
systemctl daemon-reload
systemctl restart docker
# 使用docker info命令查看镜像仓库信息
docker info