国内 centos 7.9 ubuntu 22.04 安装Docker和Docker Compose
在国内安装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 等
sudo ls /var/lib/docker/
进入目录:
需要切换成root用户
cd /var/lib/docker/overlay2
或者
sudo bash -c "cd /var/lib/docker/overlay2 && bash"
这里会自动切换成root用户查看
查看某个镜像的具体存储位置:
列出所有镜像
sudo docker images
用 docker inspect 命令获取某个镜像的详细信息
sudo docker inspect cb1febb7d8ae
其中找到 GraphDriver.Data.LowerDir 和 GraphDriver.Data.UpperDir,这些路径就是该镜像的存储位置