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目录中,可通过磁盘空间变化验证。

相关推荐
mobº35 分钟前
K8s 集群部署中间件 - yaml 版本(二)
中间件·容器·kubernetes
灰勒塔德2 小时前
ubuntu 部署 gitlab docker服务
docker·容器·gitlab
啟明起鸣2 小时前
【Go 与云原生】先从 Go 对与云原生的依赖关系讲起,再讲讲 一个简单的 Go 项目热热身
开发语言·云原生·golang
@不会写代码的小张3 小时前
传统的企业服务如何部署在k8s集群中
云原生·容器·kubernetes
Juchecar5 小时前
超越经典23种设计模式:新模式、反模式与函数式编程
设计模式·云原生·函数式编程
深蓝电商API6 小时前
云原生爬虫:使用Docker和Kubernetes部署与管理分布式爬虫集群
docker·kubernetes
啟明起鸣7 小时前
【Go 与云原生】让一个 Go 项目脱离原生的操作系统——我们开始使用 Docker 制造云容器进行时
docker·云原生·golang
橙色云-智橙协同研发13 小时前
【PLM实施专家宝典】离散制造企业MBD与无纸化制造实施方案:从“图纸驱动”到“数据驱动”的革命
云原生·解决方案·数字化转型·plm·国产plm·专家经验·无纸化
victory043114 小时前
K8S重启之后无法启动故障排查 与 修复
云原生·容器·kubernetes
研究司马懿16 小时前
【ETCD】ETCD常用命令
网络·数据库·云原生·oracle·自动化·运维开发·etcd