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

Docker 将镜像打成压缩包将压缩包传到服务器运行

1. 本地操作:将镜像打包为压缩文件

# 查看本地镜像列表
docker images# 打包指定镜像(替换 your_image:tag 为实际镜像名称和标签)
docker save your_image:tag | gzip > my_image.tar.gz
  • 示例:docker save nginx:latest | gzip > nginx.tar.gz

2. 传输压缩包到服务器

使用 scp 命令传输(确保服务器已开启 SSH):

scp my_image.tar.gz user@server_ip:/目标路径/
  • user:服务器用户名
  • server_ip:服务器 IP 地址
  • /目标路径/:服务器存放目录(如 ~//tmp/

3. 服务器操作:加载镜像并运行容器

(1) 登录服务器
ssh user@server_ip
(2) 加载 Docker 镜像
# 解压并加载镜像
gunzip -c my_image.tar.gz | docker load# 验证镜像是否加载成功
docker images
(3) 运行容器
# 根据镜像启动容器(按需添加参数)
docker run -d --name my_container \-p 8080:80 \          # 端口映射-v /host/data:/data \  # 卷挂载(可选)your_image:tag         # 加载的镜像名
  • 关键参数
    • -d:后台运行
    • -p 宿主机端口:容器端口:端口映射
    • -v 宿主机目录:容器目录:数据持久化

完整流程示例

# 本地打包并传输
docker save nginx:latest | gzip > nginx.tar.gz
scp nginx.tar.gz ubuntu@192.168.1.100:/tmp/# 服务器操作
ssh ubuntu@192.168.1.100
gunzip -c /tmp/nginx.tar.gz | docker load
docker run -d --name my_nginx -p 8080:80 nginx:latest

常见问题解决

  1. 权限不足

    • docker 命令前加 sudo
    • 将用户加入 docker 组:sudo usermod -aG docker $USER
  2. 端口冲突

    • 检查服务器端口占用:ss -tuln | grep 8080
    • 修改 -p 参数(如 -p 8081:80
  3. 镜像加载失败

    • 检查文件完整性:gunzip -t my_image.tar.gz
    • 重新传输压缩包

替代方案(更高效)

直接通过 SSH 传输镜像(无需压缩文件)
# 本地直接推送镜像到服务器
docker save your_image:tag | ssh user@server_ip "docker load"
使用容器仓库(推荐生产环境使用)
# 1. 推送镜像到 Docker Hub
docker tag your_image:tag username/repo:tag
docker push username/repo:tag# 2. 在服务器拉取镜像
ssh user@server_ip "docker pull username/repo:tag"
http://www.xdnf.cn/news/14893.html

相关文章:

  • 创客匠人创始人IP打造实录:从行业观察者到生态构建者
  • Rust 所有权系统:深入浅出指南
  • MapReduce 学习
  • 【K线训练软件研发历程】【日常记录向】1.K线滑动窗口
  • DVWA | SQL Injection 数据库注入
  • Flutter 入门
  • ubuntu server系统 安装宝塔
  • 【算法训练营Day09】栈与队列part1
  • 内网使用rustdesk搭建远程桌面详细版
  • Angular V20 新特性
  • 初始图形学(11)
  • 揭秘C++继承机制:从基础到菱形继承全解析----《Hello C++ Wrold!》(13)--(C/C++)
  • 解决jenkins的Exec command命令nohup java -jar不启动问题
  • 每天一个前端小知识 Day 23 - PWA 渐进式 Web 应用开发
  • 异步Websocket构建聊天室
  • 分布式压测
  • 关于 栈帧变化完整流程图(函数嵌套)
  • Apache Spark 4.0:将大数据分析提升到新的水平
  • 【Linux】基础开发工具(1)
  • 【JS逆向基础】数据分析之正则表达式
  • 【java】webservice服务
  • 基于Excel的数据分析思维与分析方法
  • 【Vibe Coding 实战】我如何用 AI 把一张草图变成了能跑的应用
  • Hadoop高可用集群搭建
  • 【排坑记录】Cursor 出现 “Connection failed” 报错?试试修改 HTTP Compatibility Mode!
  • HTTPS 协议原理
  • 数据驱动实时市场动态监测:让商业决策跑赢时间
  • 操作系统王道考研习题
  • CICD[构建镜像]:构建django使用的docker镜像
  • Linux proxy设置