docker和docker compose离线安装-1
你的系统上两个命令都存在,但指向了不同的版本。
·
1. 下载离线安装包
Docker离线包:
- 访问 https://download.docker.com/linux/static/stable/
- 选择对应系统架构的最新版本,如aarch64/lonngarch64
Docker Compose插件:
- 访问 https://github.com/docker/compose/releases/
- 下载对应架构的二进制文件
2. 安装Docker
# 解压Docker安装包
sudo tar -xvf docker-*.tgz -C /usr/local/bin/ --strip-components=1
# 设置执行权限
sudo chmod +x /usr/local/bin/docker /usr/local/bin/dockerd
🔍 问题分析
docker-compose --version(带连字符) - 这是旧版独立工具docker compose version(有空格) - 这是新版Docker插件
你的系统上两个命令都存在,但指向了不同的版本。
🛠️ 解决方案
方法1: 查找并移除旧版本(推荐)
- 找出旧版docker-compose的位置:
which docker-compose
# 或者
whereis docker-compose
- 移除旧版本:
# 如果是通过包管理器安装的
sudo dnf remove docker-compose
# 如果是二进制文件安装的
sudo rm /usr/local/bin/docker-compose
# 或者
sudo rm /usr/bin/docker-compose
方法2: 正确安装Docker Compose插件
按照我之前提供的方法正确安装v2.27.1的Docker Compose插件:
- 下载正确的二进制文件:
# 根据你的架构选择(x86_64或aarch64)
# 假设是x86_64架构
wget https://github.com/docker/compose/releases/download/v2.27.1/docker-compose-linux-x86_64
- 正确安装到插件目录:
# 创建Docker CLI插件目录
sudo mkdir -p /usr/local/lib/docker/cli-plugins
# 移动文件并正确命名
sudo mv docker-compose-linux-x86_64 /usr/local/lib/docker/cli-plugins/docker-compose
# 授予执行权限
sudo chmod +x /usr/local/lib/docker/cli-plugins/docker-compose
- 验证安装:
docker compose version
4. 创建系统服务文件
sudo vi /etc/systemd/system/docker.service
输入以下内容:
[Unit]
Description=Docker Application Container Engine
After=network.target
[Service]
Type=notify
ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock
ExecReload=/bin/kill -s HUP $MAINPID
KillMode=process
RestartSec=5s
Restart=always
[Install]
WantedBy=multi-user.target
5. 启动服务
sudo systemctl daemon-reload
sudo systemctl enable docker.service
sudo systemctl start docker.service
配置Docker存储路径
为了确保Docker使用最大的磁盘目录,推荐以下配置方法:
方法一:修改daemon.json(推荐)
- 创建目标目录:
sudo mkdir -p /home/docker_home
- 编辑配置文件:
sudo vi /etc/docker/daemon.json
- 添加以下内容:
{
"data-root": "/home/docker_home",
"registry-mirrors": [
"https://registry.docker-cn.com",
"https://docker.mirrors.ustc.edu.cn",
"http://hub-mirror.c.163.com",
"https://8wb4g36l.mirror.aliyuncs.com",
"https://docker.1ms.run",
"https://docker.xuanyuan.me"
],
"log-driver": "json-file",
"log-opts": {
"max-size": "100m"
}
}
systemctl restart docker
验证安装
完成所有安装和配置后,请验证:
# 检查Docker版本
docker --version
# 检查Docker Compose版本
docker compose version
# 检查Docker信息
docker info
# 验证存储路径
docker info | grep "Root Dir"
# 测试镜像拉取(配置了国内镜像源后应该速度较快)
docker pull hello-world
更多推荐
所有评论(0)