当前位置: 首页 > article >正文

【Linux】Docker:离线主机部署

在网络环境下准备 Docker

下载 Docker 安装包

  • 在另一台有网络连接的计算机上,访问 Docker 官方下载页面。
  • 选择并下载适合您系统的 Docker 版本,通常是最新的稳定版本,例如 docker-<version>.tgz

传输文件

  • 使用 USB 驱动器或其他方式将下载的 .tgz 文件传输到离线的 Ubuntu 主机上。

在离线主机上安装 Docker

解压 Docker 安装包

  • 在终端中,导航到存放 .tgz 文件的目录,并运行以下命令:

    tar xzvf docker-<version>.tgz
    

移动 Docker 二进制文件

  • 将解压后的 Docker 二进制文件移动到系统的可执行路径中:

    sudo mv docker/* /usr/bin/
    

创建 systemd 服务文件

  • 创建 Docker 的 systemd 服务文件,运行以下命令:

    sudo vi /etc/systemd/system/docker.service
    
  • 在文件中添加以下内容:

    [Unit]
    Description=Docker Application Container Engine
    Documentation=https://docs.docker.com
    After=network.target
    
    [Service]
    ExecStart=/usr/bin/dockerd
    ExecReload=/bin/kill -s HUP $MAINPID
    Restart=always
    Type=notify
    TimeoutSec=60
    LimitNOFILE=1048576
    LimitNPROC=512
    
    [Install]
    WantedBy=multi-user.target
    

重新加载 systemd 配置

  • 运行以下命令以重新加载 systemd 配置,使其识别新的服务文件:

    sudo systemctl daemon-reload
    

启动 Docker 服务

  • 使用以下命令启动 Docker 服务:

    sudo systemctl start docker
    

设置 Docker 服务开机自启

  • 使用以下命令设置 Docker 服务在系统启动时自动启动:

    sudo systemctl enable docker
    

验证 Docker 是否安装成功

  • 运行以下命令确认 Docker 安装成功:

    sudo docker --version
    

从 Docker 镜像打包

在有网络的计算机上拉取所需 Docker 镜像

  • 使用以下命令从 Docker Hub 拉取需要的镜像:

    docker pull <image-name>
    

保存 Docker 镜像为 tar 文件

  • 使用 docker save 命令将镜像保存为 tar 文件:

    docker save -o <image-name>.tar <image-name>
    

传输镜像文件

  • 将生成的 <image-name>.tar 文件转移到离线的 Ubuntu 主机。

从 Docker 容器打包

将当前容器打包:

  • 停止容器(如果需要):

    sudo docker stop <container-name>
    
  • 使用

    docker commit
    

    命令将容器打包为镜像(可选):

    sudo docker commit <container-name> <new-image-name>
    
  • 将打包后的镜像保存为 tar 文件:

    sudo docker save -o <new-image-name>.tar <new-image-name>
    

在离线主机上加载 Docker 镜像

加载镜像

  • 在离线主机上,运行以下命令加载镜像:

    docker load -i <image-name>.tar
    

验证镜像是否加载成功

  • 使用以下命令查看已加载的镜像:

    docker images
    

运行容器

启动容器

  • 使用以下命令启动 Docker 容器:

    docker run -it <image-name>
    

http://www.kler.cn/a/314750.html

相关文章:

  • 服务号消息折叠折射出的腾讯傲慢:上云会不会也一样?
  • Rust 建造者模式
  • docker之容器设置开机自启(4)
  • docker运行ActiveMQ-Artemis
  • 【C++】 list 与 string 基础与实现字符串操作
  • LeetCode【0018】四数之和
  • 【Temporal】日志打印控制
  • 【AI视频】AI虚拟主播制作网站推荐
  • 深度学习02-pytorch-06-张量的形状操作
  • 基于深度学习的智能电网优化
  • Java异常架构与异常关键字
  • Spring后端直接用枚举类接收参数,自定义通用枚举类反序列化器
  • IT行业:未来发展的无限可能
  • 【医学半监督】置信度指导遮蔽学习的半监督医学图像分割
  • 51单片机-系列-数码管中断和定时器
  • Lsposed Java HOOK原理及检测
  • 我的AI工具箱Tauri版-VideoIntroductionClipCut视频介绍混剪
  • Nacos与Eureka的区别:深入解析微服务中的服务注册与发现
  • npm切换为淘宝镜像源
  • GPU加速生物信息分析的尝试
  • 数据结构之存储位置
  • AIGC专栏15——CogVideoX-Fun详解 支持图文生视频 拓展CogVideoX到256~1024任意分辨率生成
  • Web_php_include 攻防世界
  • C++20 std::format
  • Windows下如何定时执行自定义任务
  • 2024年中国研究生数学建模竞赛C题——解题思路