【Linux】Docker:离线主机部署

ops/2024/9/23 23:18:40/

在网络环境下准备 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.ppmy.cn/ops/115009.html

相关文章

【设计模式-享元】

Flyweight Pattern&#xff08;享元模式&#xff09; 是一种结构型设计模式&#xff0c;旨在通过共享对象来减少内存使用和提高性能。享元模式特别适用于需要大量相似对象的场景&#xff0c;可以有效地减少内存开销。 核心思想 享元模式通过将对象的共享部分&#xff08;共享…

6、论文阅读:水下图像增强基准数据集及其他数据集

水下图像增强基准数据集及其他数据集 前言引言贡献现有方法、评估指标和数据集:概述水下增强方法基于补充信息的方法基于非物理模型的方法基于物理模型的方法数据驱动的方法水下图像质量评估完整参考指标没有参考指标水下图像数据集提出基准数据集数据收集参考图像的生成评估与…

尚品汇-Jenkins部署构建服务模块、Linux快照备份(五十七)

目录&#xff1a; &#xff08;1&#xff09;构建作业&#xff08;server-gateway&#xff09; &#xff08;2&#xff09;构建service_product模块 &#xff08;3&#xff09;演示添加新代码 &#xff08;4&#xff09;学会使用linux快照 &#xff08;1&#xff09;构建作…

Android 后台服务之Persistent 属性

在 Android 开发中,有时我们需要后台服务持续运行,以保持应用的某些功能。例如,音乐播放器需要在后台播放音乐,或者健康应用需要持续跟踪用户的运动数据。后台服务是 Android 中的一种组件,它不与用户界面交互,能够在后台执行长时间运行的任务。由于 Android 系统的资源管…

微信抢红包设计

包几个红包&#xff0c;发红包的总金额塞钱进红包&#xff0c;弹出支付的界面&#xff0c;支付完之后就会被发到 群里抢拆红包&#xff0c;才是真正的抢红包 红包金额怎么分配 每个人至少抢到1分钱人数抢到的金额之和就应该是红包的总金额一个人抢的红包不应该极度的大&#…

【Python报错已解决】AttributeError: ‘WindowsPath‘ object has no attribute ‘rstrip‘

&#x1f3ac; 鸽芷咕&#xff1a;个人主页 &#x1f525; 个人专栏: 《C干货基地》《粉丝福利》 ⛺️生活的理想&#xff0c;就是为了理想的生活! 专栏介绍 在软件开发和日常使用中&#xff0c;BUG是不可避免的。本专栏致力于为广大开发者和技术爱好者提供一个关于BUG解决的经…

快来看看!如何利用工具轻松实现自动加好友

大家都知道&#xff0c;手动添加大量好友不仅耗时&#xff0c;还很容易出错。这时候&#xff0c;借助一些工具就显得尤为重要&#xff01; 今天&#xff0c;就给大家分享一个多微管理工具&#xff0c;让你实现自动加好友。 首先&#xff0c;在多微管理工具上登录你的微信账号…

清空当前机器所有Docker容器和镜像

sudo docker stop $(sudo docker ps -aq) sudo docker rm $(sudo docker ps -aq) sudo docker rmi $(sudo docker images -q)删除当前机器上的所有Docker镜像是一个高风险操作&#xff0c;因为它会删除所有镜像&#xff0c;包括那些可能正在被容器使用的镜像。在执行此操作之前…