中国大陆 centos 7.9 ubuntu 22.04 安装Docker和Docker Compose

在中国大陆安装Docker和Docker Compose需要使用国内的镜像源,因为直接访问官方源可能会出现连接速度慢或无法连接的情况。以下是针对中国大陆网络环境的安装方法:

中国大陆 ubuntu 22.04 安装Docker

  1. 首先更新软件包索引并安装必要的依赖:
sudo apt update
sudo apt install -y ca-certificates curl gnupg lsb-release
  1. 添加Docker的阿里云GPG密钥:
sudo mkdir -p /etc/apt/keyrings
curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg

或者添加清华大学TUNA 的 GPG 密钥:

sudo mkdir -p /etc/apt/keyrings
curl -fsSL https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
  1. 设置Docker的阿里云镜像仓库:
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

或者相应的添加清华大学 TUNA 的软件源:

echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
  1. 更新apt索引并安装Docker:
sudo apt update
sudo apt install -y docker-ce docker-ce-cli containerd.io docker-compose-plugin
  1. 验证Docker安装是否成功:
sudo docker run hello-world

把上面的安装步骤做成一个脚本:

#!/bin/bash

# Ubuntu 22.04 Docker一键安装脚本(使用阿里云镜像源)
# 使用方法: chmod +x install_docker.sh && sudo ./install_docker.sh

set -e

echo "正在更新软件包索引并安装必要依赖..."
apt update
apt install -y ca-certificates curl gnupg lsb-release

echo "正在添加Docker的阿里云GPG密钥..."
mkdir -p /etc/apt/keyrings
curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | gpg --dearmor -o /etc/apt/keyrings/docker.gpg

echo "正在设置Docker的阿里云镜像仓库..."
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release>

echo "正在更新apt索引并安装Docker..."
apt update
apt install -y docker-ce docker-ce-cli containerd.io docker-compose-plugin

echo "Docker安装完成!"

# 输出版本信息
echo -e "\n=== 版本信息 ==="
echo "Docker 版本: $(docker --version | cut -d' ' -f3 | tr -d ',')"
echo "Docker Compose 版本: $(docker compose version | grep -oP 'v\K\d+\.\d+\.\d+')"

# 验证安装
echo -e "\n正在验证Docker安装..."

将上面的代码保存为install_docker.sh 给脚本添加执行权限:chmod +x install_docker.sh 使用root权限运行脚本:sudo ./install_docker.sh

配置Docker国内镜像加速 安装完Docker后,建议配置国内镜像加速器以提高Docker镜像下载速度:

  1. 创建Docker配置目录:
sudo mkdir -p /etc/docker
  1. 配置镜像加速器(可选择以下任一加速器或多个):
sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": [
    "https://registry.docker-cn.com",
    "https://docker.mirrors.ustc.edu.cn",
    "https://hub-mirror.c.163.com",
    "https://mirror.baidubce.com"
  ]
}
EOF
  1. 重启Docker服务使配置生效:
sudo systemctl daemon-reload
sudo systemctl restart docker

验证加速器是否生效: docker info 在输出的信息中查找 Registry Mirrors: 部分,应该能看到你配置的加速器地址列表

安装Docker Compose 可以通过以下方式安装Docker Compose:

# 使用国内镜像源下载Docker Compose
DOCKER_COMPOSE_VERSION=$(curl -s https://api.github.com/repos/docker/compose/releases/latest | grep 'tag_name' | cut -d'"' -f4)
sudo curl -L "https://get.daocloud.io/docker/compose/releases/download/${DOCKER_COMPOSE_VERSION}/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose

如果上面的方法下载速度仍然很慢,可以尝试使用下面的清华大学镜像:

# 例如安装2.23.0版本
export DOCKER_COMPOSE_VERSION=2.23.0
sudo curl -L "https://mirrors.tuna.tsinghua.edu.cn/docker-compose/linux/$(uname -s)/$(uname -m)/docker-compose-linux-$(uname -m)-${DOCKER_COMPOSE_VERSION}" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose

将当前用户添加到docker组

sudo usermod -aG docker $USER

记得注销并重新登录以使更改生效。

验证安装

# 检查Docker版本
docker --version

# 检查Docker Compose版本
docker compose version

……………………………….. 下面是更详细的在centos 7.9 ubuntu 22.04 中安装Docker和Docker Compose整理: CentOS 7.9 安装 Docker 和 Docker Compose 安装必要依赖 yum install -y yum-utils device-mapper-persistent-data lvm2 配置国内 Docker 源

# 阿里云
yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
# 或者腾讯云
yum-config-manager --add-repo https://mirrors.cloud.tencent.com/docker-ce/linux/centos/docker-ce.repo

安装 Docker 和 Docker Compose

yum install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

启动 Docker 并设置开机自启 systemctl start docker systemctl enable docker 配置国内 Docker 镜像加速

mkdir -p /etc/docker
tee /etc/docker/daemon.json <<EOF
{
  "registry-mirrors": [
    "https://docker.mirrors.ustc.edu.cn",
    "https://hub-mirror.c.163.com",
    "https://mirror.baidubce.com",
    "https://mirror.aliyuncs.com",
    "https://mirror.ccs.tencentyun.com",
    "https://mirrors.tuna.tsinghua.edu.cn/docker-ce"
  ]
}
EOF

重启 Docker 使其生效: systemctl daemon-reload systemctl restart docker 验证 Docker 和 Docker Compose 插件: docker version docker compose version 验证加速器是否生效: docker info 在输出的信息中查找 Registry Mirrors: 部分,应该能看到你配置的加速器地址列表

Ubuntu 22.04 安装 Docker 和 Docker Compose 更新软件包: sudo apt update -y sudo apt install -y ca-certificates curl gnupg lsb-release 配置国内 Docker 源:

# 创建 keyring 目录
sudo mkdir -p /etc/apt/keyrings
# 阿里云 Docker GPG 密钥
curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo tee /etc/apt/keyrings/docker.asc
# 添加 Docker 阿里云仓库
echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://mirrors.aliyun.com/docker-ce/linux/ubuntu \
  $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

安装 Docker 和 Docker Compose: sudo apt update sudo apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin 启动 Docker 并设置开机自启 sudo systemctl start docker sudo systemctl enable docker 配置国内 Docker 镜像加速: 创建或修改 /etc/docker/daemon.json

sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<EOF
{
  "registry-mirrors": [
    "https://docker.mirrors.ustc.edu.cn",
    "https://hub-mirror.c.163.com",
    "https://mirror.baidubce.com",
    "https://mirror.aliyuncs.com",
    "https://mirror.ccs.tencentyun.com",
    "https://mirrors.tuna.tsinghua.edu.cn/docker-ce"
  ]
}
EOF

重启 Docker 使其生效: sudo systemctl daemon-reload sudo systemctl restart docker 验证 Docker 和 Docker Compose 插件: docker version docker compose version 验证加速器是否生效: docker info 在输出的信息中查找 Registry Mirrors: 部分,应该能看到你配置的加速器地址列表 ………………………………

Docker 默认将镜像、容器、卷等数据存储在 /var/lib/docker 目录下。如果你想将其更改为 /home/docker(或其他路径),可以按照以下步骤操作: 方法 1:修改 Docker 配置文件(推荐) 停止 Docker 服务 sudo systemctl stop docker 复制现有 Docker 数据到新路径 sudo mv /var/lib/docker /home/docker 如果 /home 在不同的磁盘分区,建议使用 rsync 进行复制: sudo rsync -aP /var/lib/docker /home/ sudo rm -rf /var/lib/docker 修改 Docker 配置 编辑 daemon.json(如果不存在就新建): sudo mkdir -p /etc/docker sudo nano /etc/docker/daemon.json 添加或修改以下内容: { “data-root”: “/home/docker” } 注意:data-root 指定 Docker 的数据存储路径。 重新加载并启动 Docker sudo systemctl daemon-reload sudo systemctl start docker 验证是否修改成功 docker info | grep “Docker Root Dir” Docker Root Dir: /home/docker 说明已经成功修改。

方法 2:使用 systemd 配置覆盖 如果你不想修改 daemon.json,也可以使用 systemd 方式修改 Docker 的存储路径。 创建 systemd 配置覆盖 sudo mkdir -p /etc/systemd/system/docker.service.d sudo nano /etc/systemd/system/docker.service.d/override.conf

[Service]
ExecStart=
ExecStart=/usr/bin/dockerd --data-root=/home/docker -H fd://

重新加载 systemd 并重启 Docker sudo systemctl daemon-reload sudo systemctl restart docker ………………………………..

查看docker 镜像的存储路径 sudo docker info | grep “Storage Driver” 镜像文件默认存放在 /var/lib/docker/<存储驱动>/ 目录下,其中 <存储驱动> 取决于 Docker 使用的存储驱动,常见的有 overlay2、aufs、btrfs、zfs 等 ec2876a1dc8a58b039677df201fef63f.png sudo ls /var/lib/docker/ 763038afcee59d44567b582014018a5c.png 进入目录: 需要切换成root用户 cd /var/lib/docker/overlay2 或者 sudo bash -c “cd /var/lib/docker/overlay2 && bash” 788a6ff66d2fa7c3b828195de5c03088.png 这里会自动切换成root用户查看

查看某个镜像的具体存储位置: 列出所有镜像 sudo docker images c7ba57281162a9aacade85f2d4d815b6.png 用 docker inspect 命令获取某个镜像的详细信息 sudo docker inspect cb1febb7d8ae 6a3698f92274b18436dda01779250f7f.png 其中找到 GraphDriver.Data.LowerDir 和 GraphDriver.Data.UpperDir,这些路径就是该镜像的存储位置