打包docker容器

我们在本机的容器上进行了各种操作和配置修改后,需要移植出去,那么就再把它转换成镜像就好。

在容器版本相同的环境下可以移植容器

显示 Docker 版本信息:

docker version

例如:arm64和amd64的容器不能移植

1.查看容器id

docker ps -aqf "name=容器名"

2. 将容器变为镜像

docker commit -a "作者名称" -m "提交时的说明文字" 容器ID 新创建的镜像名称

可用参数
-a :提交的镜像作者;
-c :使用Dockerfile指令来创建镜像;
-m :提交时的说明文字;
-p :在commit时,将容器暂停。
imagexxx 是新创建的镜像的名字

例如:

docker commit -a "xgm" cefd9c16f81f tomcat:9.0-jdk8-web

docker commit 261314c94305 imagexxx

3.将镜像打包成tar包
docker save -o 名称.tar 新创建的镜像名称:版本号
docker  save  -o xxx.tar  imagexxx # 当前路径下会生成一个xxx.tar

例如:

docker save -o cp-admin.tar tomcat:9.0-jdk8-web

4. 将tar包再次压缩为gz包

tar -zcvf cp-admin.tar.gz cp-admin.tar

5. 将tar.gz 挪到内网服务器,使用scp命令

scp -P 22 ubuntu@111.230.247.xxx:/opt/myfile/mydocker/cp-admin.tar.gz /opt/myfile/mydocker/

或者

scp -P 1026 root@210.22.22.xxx:/root/mydocker/myweb.tar.gz /opt/myfile/mydocker/

6. 将tar.gz 解压缩,会生成一个tar包

tar -zxvf xxx.tar.gz

6. 将tar包生成镜像

docker  load  <  xxx.tar # 生成的镜像跟之前打包的镜像名称一样

7. 将镜像生成容器

docker  run  -it  --name  容器名称  镜像名称 

8.切入镜像

docker exec -ti 镜像名 /bin/bash

  • 6
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值