首页 > 其他分享 >不使用docker push ,使用docker save 打包成tar文件,scp到服务器上,应对离线环境

不使用docker push ,使用docker save 打包成tar文件,scp到服务器上,应对离线环境

时间:2024-12-30 18:00:23浏览次数:7  
标签:tar fastapi app 离线 服务器 镜像 docker

如果你不想使用 docker push,而是希望将本地 Docker 镜像打包成 tar 文件,并通过 scp 将其传输到目标服务器上,你可以按照以下步骤操作:

1. 在本地打包 Docker 镜像为 tar 文件

首先,在本地构建并打包你的 Docker 镜像。假设你的镜像名称为 fastapi-app

  1. 构建 Docker 镜像:

    如果你还没有构建镜像,可以使用 docker-composedocker build 来构建镜像。例如:

    docker-compose build
    

    或者,如果你只是使用 Dockerfile

    docker build -t fastapi-app .
    
  2. 使用 docker save 打包镜像为 tar 文件:

    运行以下命令将镜像导出为 tar 文件:

    docker save -o fastapi-app.tar fastapi-app
    

    这将会把 fastapi-app 镜像保存为一个名为 fastapi-app.tar 的文件。

2. 使用 SCP 将 tar 文件传输到目标服务器

接下来,使用 scptar 文件复制到目标服务器。例如:

scp fastapi-app.tar username@your-server-ip:/path/to/destination
  • username 是你服务器的用户名。
  • your-server-ip 是目标服务器的 IP 地址。
  • /path/to/destination 是目标服务器上存放文件的目录。

3. 在目标服务器上加载 Docker 镜像

在目标服务器上,使用 docker load 命令加载刚刚传输的 tar 文件:

  1. 进入存放 fastapi-app.tar 文件的目录,或者指定完整路径:

    cd /path/to/destination
    
  2. 使用 docker load 命令加载镜像:

    docker load -i fastapi-app.tar
    

    这将加载镜像到目标服务器的 Docker 本地镜像库中。

4. 运行镜像

加载完成后,检查镜像是否成功加载:

docker images

你应该可以看到 fastapi-app 镜像出现在列表中。然后,你就可以运行容器了:

docker run -d -p 8088:8088 fastapi-app

5. 总结

以下是整个流程的总结:

  1. 在本地构建并保存 Docker 镜像为 tar 文件:

    docker save -o fastapi-app.tar fastapi-app
    
  2. 使用 scptar 文件传输到目标服务器:

    scp fastapi-app.tar username@your-server-ip:/path/to/destination
    
  3. 在目标服务器上加载镜像:

    docker load -i /path/to/destination/fastapi-app.tar
    
  4. 运行 Docker 容器:

    docker run -d -p 8088:8088 fastapi-app
    

这样,你就可以将本地的 Docker 镜像通过 tar 包形式传输并在目标服务器上运行。

标签:tar,fastapi,app,离线,服务器,镜像,docker
From: https://blog.csdn.net/sunyuhua_keyboard/article/details/144831468

相关文章

  • 怎么使用阿里的docker国产镜像源
    要使用阿里云Docker镜像加速器,你需要先注册并获取加速器的URL,然后将其配置到Docker的配置文件中。下面是具体的使用步骤:步骤1:登录阿里云控制台并获取镜像加速器URL登录阿里云控制台打开阿里云官网,并登录到你的阿里云账号。进入容器镜像服务控制台登录后,进入......
  • Kubernetes 为何弃用 Docker?
    一、什么是容器运行时?容器运行时(ContainerRuntime)是一种负责在操作系统层面管理和运行容器的软件工具或组件。其主要任务包括:创建和启动容器:确保容器的生命周期管理。文件系统管理:为容器提供隔离的文件系统支持。资源限制:管理CPU、内存等资源的使用。网络配置:为容器设置......
  • 云原生周刊:Docker 的替代方案
    开源项目推荐DitoDito是一个用Go语言编写的高级Layer7反向代理服务器,提供灵活的中间件支持、后端连接的自定义证书处理、动态配置重载,以及与Redis的分布式缓存和速率限制功能。其主要特性包括高效处理HTTP和HTTPS请求、支持WebSocket代理、动态配置热重载、分布式......
  • Docker之Swarm集群管理
    Swarm简介1、Swarm是一个集群化任务编排工具,使用声明式的配置,配置文件接近docker-compose2、Swarm是Docker引擎内置(原生)的集群管理和编排工具,DockerSwarm是Docker官方三剑客项目之一(但现在用的不是特别多了)Dockerswarm的特点:1、集群化任务编排工具2、声明式配置方式......
  • 离线安装Kubesphere
    1.环境要求【centos7.X】1.1依赖项要求master、node1节点安装yuminstall-ysocatconntrackebtablesipset1.2获取镜像列表访问https://get-images.kubesphere.io/选择需要部署的扩展组件。填入邮箱地址。点击获取镜像列表。查看填写的邮箱,获取KubeSphere最新的......
  • docker自学入门教程
    目录1docker的安装1.1卸载旧版本docker1.2下载相关依赖1.3配置docker的安装源地址1.4安装docker1.5设置开机启动1.6简单命令检验是否安装成功1.7配置镜像加速器(官网属于国外网站,下载镜像会比较慢,推荐阿里云)1.8docker官网的镜像仓库地址2docker基......
  • Docker与K8S的区别
    目录 1定义角度2虚拟化角度虚拟化技术的发展过程VirtualMachinesVS.Docker3部署角度4其他角度4.1系统角度4.2功能角度4.3各自优势X参考文献回到顶部(BacktoTop)1定义角度Docker是一种开放源码的应用容器引擎,允许开发人员将其应用和依赖......
  • WPF BeginStoryboard Storyboard DoubleAnimation TargetProperty SplineDoubleKeyFra
    <Windowx:Class="WpfApp119.MainWindow"xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"xmlns:d="http://schemas.microsoft......
  • WPF BeginStoryboard Storyboard DoubleAnimationUsingKeyFrames Storyboard.TargetP
    <Windowx:Class="WpfApp119.MainWindow"xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"xmlns:d="http://schemas.microsoft......
  • WPF EventTrigger RoutedEvent BeginStoryboard Storyboard TargetProperty RepeatBeh
    <Windowx:Class="WpfApp118.MainWindow"xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"xmlns:d="http://schemas.microsoft......