Docker离线安装与配置指南

Docker离线安装与配置指南

离线安装步骤

1. 下载离线安装包

官方下载地址:

复制代码
https://download.docker.com/linux/static/stable/x86_64/

注意:国内用户若无法访问,可能需要使用科学上网工具。本文档以Docker 20.10.23版本为例。

2. 安装与部署

bash 复制代码
# 解压安装包到/usr/local目录
tar xf docker-20.10.23.tgz -C /usr/local

# 复制可执行文件到系统路径
cp /usr/local/docker/* /usr/bin/

3. 配置systemd服务

创建服务配置文件/usr/lib/systemd/system/docker.service

ini 复制代码
[Unit]
Description=Docker Application Container Engine
Documentation=https://docs.docker.com
After=network-online.target firewalld.service
Wants=network-online.target

[Service]
Type=notify
ExecStart=/usr/bin/dockerd
ExecReload=/bin/kill -s HUP $MAINPID
LimitNOFILE=infinity
LimitNPROC=infinity
TimeoutStartSec=0
Delegate=yes
KillMode=process
Restart=on-failure
StartLimitBurst=3
StartLimitInterval=60s

[Install]
WantedBy=multi-user.target

启动Docker服务:

bash 复制代码
systemctl start docker

4. 配置Docker守护进程

创建配置文件/etc/docker/daemon.json

json 复制代码
{
  "insecure-registries": ["192.168.xxx.xxx:xxx"],  # 镜像仓库地址(如不需要可删除)
  "exec-opts": ["native.cgroupdriver=systemd"],
  "data-root": "/home/docker",  # Docker工作目录
  "log-opts": {
    "max-size": "10m",  # 日志大小限制
    "max-file": "3"     # 日志文件数量限制
  }
}

应用配置并重启服务:

bash 复制代码
# 重新加载守护进程
systemctl daemon-reload

# 重启Docker服务
systemctl restart docker

# 设置开机自启
systemctl enable docker

# 验证安装
docker -v

Docker存储位置修改指南

默认存储位置

默认情况下,Docker的存储位置为:

复制代码
/var/lib/docker

可通过以下命令查看当前存储位置:

bash 复制代码
docker info | grep "Docker Root Dir"

修改存储位置方法

方法一:通过data-root配置(推荐)

/etc/docker/daemon.json中指定data-root参数(如上文配置所示)。

方法二:通过软链接修改
  1. 停止Docker服务:

    bash 复制代码
    systemctl stop docker
  2. 移动Docker数据目录:

    bash 复制代码
    mv /var/lib/docker /data/docker
  3. 创建软链接:

    bash 复制代码
    ln -s /data/docker /var/lib/docker
  4. 重启Docker服务:

    bash 复制代码
    systemctl start docker

说明 :使用软链接方式后,虽然Docker仍显示使用/var/lib/docker目录,但实际数据存储在/data/docker目录中,可通过磁盘空间变化验证。

相关推荐
无级程序员2 小时前
clklog地域分析中的地名中英文对照问题解决
kubernetes
加加and减减5 小时前
Docker真实安装mysql8教程并优化配置
运维·mysql·docker·容器
qiuziqiqi6 小时前
ocker-compose.yml 和Dockerfile 区别
运维·docker·容器
杰克逊的日记6 小时前
如何在不影响业务的情况下对K8S集群升级
云原生·容器·kubernetes
逻极7 小时前
Kubernetes 从入门到精通:云原生容器编排
kubernetes·k8s·服务发现·容器编排
nvd118 小时前
Terraform 避坑:模块下线时,如何不破坏已有的 Instance Template?
云原生·terraform
极客先躯9 小时前
高级java每日一道面试题-2026年02月03日-实战篇[Docker]-如何备份和恢复 Docker Volume?
运维·docker·容器·自动化·备份·持久化·恢复
江湖有缘9 小时前
自建私有任务管理平台|Docker Compose部署Ticky完整教程
运维·docker·容器
子牙老师9 小时前
你管这破玩意叫ChatGPT?
云原生·chatgpt·容器
梦想的颜色9 小时前
Docker 知识全貌:一份体系化的知识结构报告
docker·云原生·容器·eureka