Docker容器镜像制作

1.容器文件系统打包
将容器的文件系统打包成tar文件,也就是把正在运行的容器直接导出为tar包的镜像文件.

export(导出—>文件与文件系统)

docker export -o mybox123.tar 88d6209f1d08
scp mybox123.tar [email protected]:/opt

导入镜像归档文件到其他宿主机
import(导入)

docker import /opt/mybox123.tar  erfa:v1

docker image ls
REPOSITORY                  TAG              IMAGE ID       CREATED          SIZE
erfa                        v1               3d7838c617db   16 seconds ago   1.24MB

注意:
如果导入镜像时没有起名字,随后可以单独起名字(没有名字和tag),可以手动加tag

docker tag 3d7838c617db xxx:v1

docker tag erfa:v1 hhh:v1

2.通过容器创建本地镜像
背景:
容器运行起来后,又在里面做了一些操作,并且要把结果保存到镜像里
方案:
使用docker commit指令,把一个正在运行的容器,直接提交为一个镜像,commit是提交的意思.

docker attach mybox123
touch 555.txx
docker commit 88d6209f1d08(容器id) erfa:v2

docker run -it --name=aaa 688fb919d0cb /bin/sh

docker attach aaa
/ # 
/ # 
/ # ls
123.txt  555.txt  a.sh     bin      dev      etc      home     proc     root     sys      tmp      
docker commit -m "my images version" -a "erfa" 88d6209f1d08 hfr:v1
-m "添加注释"
-a 作者
-p 提交时暂停容器运行

init层的存在,是为了避免执行docker commit时,把Docker对自己/etc/hosts等文件的修改,也一起提交掉.

docker attach mybox123

/ # cat /etc/hosts
127.0.0.1	localhost
::1	localhost ip6-localhost ip6-loopback
fe00::0	ip6-localnet
ff00::0	ip6-mcastprefix
ff02::1	ip6-allnodes
ff02::2	ip6-allrouters
172.19.0.2	88d6209f1d08 ****

3.镜像迁移(–>镜像)

save(导出)

docker save -o redis123.tar redis

scp redis123.tar [email protected]:/opt/

The authenticity of host '192.168.10.55 (192.168.10.55)' can't be established.
ECDSA key fingerprint is SHA256:q+5D+Hh4M42GRWxjpk8Y9bBy4fLkrI8tynwq4QxCG7A.
ECDSA key fingerprint is MD5:a0:4b:84:4a:4a:1b:3b:82:18:22:b3:0e:ff:e2:c1:1d.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '192.168.10.55' (ECDSA) to the list of known hosts.
[email protected]'s password: 
redis123.tar                                                                                                                                            100%  111MB  22.2MB/s 

load(导入)

docker load < /opt/redis123.tar 

docker image ls
REPOSITORY    TAG       IMAGE ID       CREATED       SIZE
redis         latest    7faaec683238   3 weeks ago   113MB

注意:
1.tar文件的名称和报错的镜像名称没有关系
2.导入的镜像如果没有名称,自己打tag起名字

猜你喜欢

转载自blog.csdn.net/weixin_51788903/article/details/121159594
今日推荐