完整的docker打包流程
把外⽹服务器上的docker搬到内⽹使⽤时,报了两个错误,外⽹容器到tar包都没问题,在内⽹使⽤tar包的时候报了两个错误
cannot connect to the Docker daemon at is the docker daemon running
starting container process caused: "exec: "/bin/sh": stat /bin/sh: no such file or directory
发现是tar包到镜像的问题,我⽤的命令是docker load --input xxx.tar
正确的是docker load < xxx.tar
现总结整个docker打包搬运流程如下:
1. 将容器变为镜像
docker commit 261314c94305 imagexxx
可⽤参数
-a :提交的镜像作者;
-c :使⽤Dockerfile指令来创建镜像;
-m :提交时的说明⽂字;
-p :在commit时,将容器暂停。
imagexxx 是新创建的镜像的名字
2. 将镜像打包成tar包
docker save -o xxx.tar imagexxx # 当前路径下会⽣成⼀个xxx.tar
例如:
docker save -o electric_know_1.31_0.tar electric_know_1.31_0:latest
3. 将tar包再次压缩为gz包
docker打包镜像tar -zcvf xxx.tar # 当前路径⽣成⼀个压缩包
4. 将 挪到内⽹服务器
5. 将 解压缩,会⽣成⼀个tar包
tar -zxvf
6. 将tar包⽣成镜像
docker load < xxx.tar # ⽣成的镜像跟之前打包的镜像名称⼀样
7. 将镜像⽣成容器
docker run -it --name 容器名称 镜像名称 /bin.bash
给与开通sshd的sudo权限的⽅式⽣成容器
sudo docker run -d --name=wang --privileged=true --networ=khost -p 20000:22 9a5d1fa93203 /usr/sbin/init sudo docker exec -it wang /bin/bash

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。