运维栈

  • 首页
  • 网络和安全
    • 网络
    • 安全
  • 操作系统
    • Linux
  • 中间件
    • Nginx
  • 数据库
    • MySQL
    • PostgreSQL
  • 云计算
    • kvm
    • 容器
    • K8S
  • 编程
    • Golang
    • Python
  • 运维
    • zabbix
    • prometheus
  • 人工智能
运维栈
一个专注于分享运维技术的小站
  1. 首页
  2. 云计算
  3. 正文

Ubuntu24离线安装docker

2025年5月15日 40点热度 0人点赞 0条评论

文章目录[隐藏]

  • 一、为什么要离线安装docker
  • 二、安装部署环境
  • 三、安装步骤
    • 1、下载 docker 二进制包并解压
    • 2、创建进程管理文件
    • 3、创建docker配置文件
    • 4、配置环境变量
    • 5、添加 docker 用户和用户组
    • 6、启动 docker 服务

一、为什么要离线安装docker

使用二进制发行包离线安装Docker的主要原因是针对特定行业的云平台,如地方政务云、教育云或其他特种行业云平台,这些平台上的云主机往往由于安全政策或网络隔离的要求,无法直接访问互联网。因此,通过下载Docker的二进制发行包并进行离线安装,可以确保在这些受限环境中顺利部署Docker,同时满足安全性和合规性的需求。具体来说,这种方式可以带来以下几个方面的优势:

  • 增强安全性:避免了云主机直接与互联网通信,减少了潜在的安全威胁,符合高安全标准的行业要求。
  • 确保合规性:对于有严格网络监管要求的行业,如政务和教育领域,离线安装可以更好地遵守相关法律法规和行业规范。
  • 控制版本一致性:通过手动下载和分发特定版本的Docker,可以在多个云主机上保持软件版本的一致性,便于管理和维护。
  • 提高灵活性:在没有互联网连接的环境中,离线安装提供了灵活的解决方案,使得Docker的部署不受网络条件的限制。

二、安装部署环境

  • 系统环境:Ubuntu24.04 LTS server
  • 软件版本:Docker 27.3.1

注意: 该方法理论适用于所有系统为64位、系统内核版本为 2.6.32-431 以及更高版本的Linux系统,本文使用的机器CPU的X86架构,如果您使用的是ARM64(aarch64)架构CPU,将docker软件包更换为ARM64(aarch64)架构软件包即可。

目前作者安装实施过的操作系统包括:Ubuntu 18.04 LTS server、Ubuntu 20.04 LTS server、Ubuntu 22.04 LTS server、Ubuntu24.04 LTS server、RockLinux8、RockLinux9、CentOS7、CentOS8、OpenEuler22.03 LTS 、OpenEuler24.03 LTS、AnolisOS8、Kylinos V10 server、UOS V20 server(1050a/1050e/1060a/1060e/1070a/1070e)

三、安装步骤

1、下载 docker 二进制包并解压

# docker 官方下载链接,如果你所在网络环境下载速度慢可以使用其他国内镜像源下载
wget -c https://download.docker.com/linux/static/stable/x86_64/docker-27.3.1.tgz
# 国内镜像源
#wget -c https://mirrors.ustc.edu.cn/docker-ce/linux/static/stable/x86_64/docker-27.3.1.tgz

tar -xvf docker-27.3.1.tgz -C /usr/local/

2、创建进程管理文件

cat > /etc/systemd/system/containerd.service << EOF
[Unit]
Description=containerd container runtime
Documentation=https://containerd.io
After=network.target local-fs.target
[Service]
ExecStart=/usr/local/docker/containerd
Type=notify
Delegate=yes
KillMode=process
Restart=always
RestartSec=5
LimitNPROC=infinity
LimitCORE=infinity
LimitNOFILE=infinity
TasksMax=infinity
OOMScoreAdjust=-999
[Install]
WantedBy=multi-user.target
EOF

cat > /etc/systemd/system/docker.service << EOF
[Unit]
Description=Docker Application Container Engine
Documentation=https://docs.docker.com
After=network-online.target firewalld.service
Wants=network-online.target
Requires=docker.socket 
[Service]
Environment="PATH=/usr/local/docker:/usr/sbin:\${PATH}"
Type=notify
ExecStart=/usr/local/docker/dockerd -H fd:// --containerd=/run/containerd/containerd.sock
ExecReload=/bin/kill -s HUP 
TimeoutSec=0
RestartSec=2
Restart=always
StartLimitBurst=3
StartLimitInterval=60s
LimitNOFILE=infinity
LimitNPROC=infinity
LimitCORE=infinity
TasksMax=infinity
Delegate=yes
KillMode=process
OOMScoreAdjust=-500
[Install]
WantedBy=multi-user.target
EOF

cat > /etc/systemd/system/docker.socket << EOF
[Unit]
Description=Docker Socket for the API
[Socket]
ListenStream=/var/run/docker.sock
SocketMode=0660
SocketUser=root
SocketGroup=docker
[Install]
WantedBy=sockets.target
EOF

3、创建docker配置文件

mkdir -p /etc/docker/
cat >/etc/docker/daemon.json<<EOF
{
    "userland-proxy": true,
    "userland-proxy-path": "/usr/local/docker/docker-proxy",
    "dns": [
        "114.114.114.114",
        "8.8.8.8"
    ],
    "bip" : "172.48.94.1/24",
    "data-root":"/mnt/docker",
    "log-driver":"json-file",
    "log-opts": {
        "max-size":"100m", 
        "max-file":"3"
    }
}
EOF

注意

  1. userland-proxy、userland-proxy-path 两项内容必须有
  2. dns:设置容器内网络使用的DNS地址,可根据需要修改
  3. bip:docker网卡的IP地址,也是容器默认网络,可根据需要修改,要尽量避免使用网络中已经使用的网段,否则可能会导致部分或者全部用户无法访问容器内的业务。
  4. data-root:容器运行环境、镜像、网络、数据卷等相关信息的存放位置。
  5. log-driver、log-opts:日志相关的配置项,更具需要配置。

4、配置环境变量

cat >/etc/profile.d/docker.sh<< EOF
#/bin/bash
export PATH=/usr/local/docker:\${PATH}
EOF
ln -s /usr/local/docker/runc /usr/local/bin/runc
bash

5、添加 docker 用户和用户组

useradd -r -s /sbin/nologin  -M  docker 
usermod -a -G docker root

6、启动 docker 服务

systemctl daemon-reload
systemctl enable containerd docker 
systemctl restart containerd docker

本文原始发布地址:http://www.omfox.cn

标签: Docker Linux Ubuntu 云计算 容器
最后更新:2025年5月15日

辰砂

这个人很懒,什么都没留下

点赞

文章评论

razz evil exclaim smile redface biggrin eek confused idea lol mad twisted rolleyes wink cool arrow neutral cry mrgreen drooling persevering
取消回复
搜索
标签聚合
数据库 DBA PostgreSQL Linux Rocky MySQL Ubuntu Postgres
历史文章
  • 2025 年 5 月 / 2篇
  • 2025 年 4 月 / 2篇

COPYRIGHT © 2025 运维栈. ALL RIGHTS RESERVED.

Theme omfox Made By omfox

蜀ICP备2023010359号

川公网安备51010702042743号