不利用docker push ,利用docker save 打包成tar文件,scp到服务器上,应对 ...

火影  金牌会员 | 2024-12-31 04:24:08 | 显示全部楼层 | 阅读模式
打印 上一主题 下一主题

主题 804|帖子 804|积分 2412

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

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

  • 构建 Docker 镜像:
    如果你还没有构建镜像,可以利用 docker-compose 或 docker build 来构建镜像。例如:
    1. docker-compose build
    复制代码
    或者,如果你只是利用 Dockerfile:
    1. docker build -t fastapi-app .
    复制代码
  • 利用 docker save 打包镜像为 tar 文件:
    运行以下命令将镜像导出为 tar 文件:
    1. docker save -o fastapi-app.tar fastapi-app
    复制代码
    这将会把 fastapi-app 镜像保存为一个名为 fastapi-app.tar 的文件。
2. 利用 SCP 将 tar 文件传输到目标服务器

接下来,利用 scp 将 tar 文件复制到目标服务器。例如:
  1. scp fastapi-app.tar username@your-server-ip:/path/to/destination
复制代码


  • username 是你服务器的用户名。
  • your-server-ip 是目标服务器的 IP 所在。
  • /path/to/destination 是目标服务器上存放文件的目次。
3. 在目标服务器上加载 Docker 镜像

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

  • 进入存放 fastapi-app.tar 文件的目次,或者指定完备路径:
    1. cd /path/to/destination
    复制代码
  • 利用 docker load 命令加载镜像:
    1. docker load -i fastapi-app.tar
    复制代码
    这将加载镜像到目标服务器的 Docker 本地镜像库中。
4. 运行镜像

加载完成后,检查镜像是否乐成加载:
  1. docker images
复制代码
你应该可以看到 fastapi-app 镜像出现在列表中。然后,你就可以运行容器了:
  1. docker run -d -p 8088:8088 fastapi-app
复制代码
5. 总结

以下是整个流程的总结:

  • 在本地构建并保存 Docker 镜像为 tar 文件:
    1. docker save -o fastapi-app.tar fastapi-app
    复制代码
  • 利用 scp 将 tar 文件传输到目标服务器:
    1. scp fastapi-app.tar username@your-server-ip:/path/to/destination
    复制代码
  • 在目标服务器上加载镜像:
    1. docker load -i /path/to/destination/fastapi-app.tar
    复制代码
  • 运行 Docker 容器:
    1. docker run -d -p 8088:8088 fastapi-app
    复制代码
如许,你就可以将本地的 Docker 镜像通过 tar 包形式传输并在目标服务器上运行。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

火影

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表