docker 小技巧
一、docker容器镜像
①、导出docker容器镜像
导出镜像
# 把镜像打包成 .tar
# -o 要保存路径.tar
# > 要保存路径.tar
# docker save 镜像id > /存储路径/xxx.tar
docker save fce91102e17d>/root/tomcat.tar
# docker save 镜像id -o 存储路径
docker save fce91102e17d -o /root/tomcat.tar
export 导出容器
# docker export 容器id > /保存路径/xxx.tar
docker export dbee90b04efd > /home/nginxApps.tar
②、导入docker容器镜像
load 导入镜像
# 加载镜像
# -i .tar包路径
# < .tar包路径
# docker load</镜像路径/xxx.tar
docker load</root/tomcat.tar
# docker load -i /路径/xxx.tar
docker load -i /root/tomcat.tar
import 导入镜像
# docker import /镜像路径/xx.tar 新镜像名
docker import /root/tomcat.tar tomcat01
load 在导入的时候无法起名字, import 可给镜像起名字
二、docker疑难解答
①、现象docker镜像的 REPOSITORY 和 TAG 为 none!
解决办法:
而使用"IMAGE ID"来保存的镜像,在导入的时候就会出现镜像名称和版本号为的情况,当我们换做用"镜像名:版本号"来保存镜像时,这个问题就解决了。
server1导出
[root@k8s-01 images]# docker save registry.aliyuncs.com/google_containers/kube-proxy:v1.18.0 > kube-proxy-v1.18.0.tar.gz
server2导入
[root@k8s-02 src]# docker load -i kube-proxy-v1.18.0.tar.gz
fc4976bd934b: Loading layer [==================================================>] 53.88MB/53.88MB
682fbb19de80: Loading layer [==================================================>] 21.06MB/21.06MB
2dc2f2423ad1: Loading layer [==================================================>] 5.168MB/5.168MB
ad9fb2411669: Loading layer [==================================================>] 4.608kB/4.608kB
597151d24476: Loading layer [==================================================>] 8.192kB/8.192kB
0d8d54147a3a: Loading layer [==================================================>] 8.704kB/8.704kB
46b37415a80a: Loading layer [==================================================>] 38.38MB/38.38MB
Loaded image: registry.aliyuncs.com/google_containers/kube-proxy:v1.18.0
[root@k8s-02 src]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
registry.aliyuncs.com/google_containers/kube-proxy v1.18.0 43940c34f24f 22 months ago 117MB
②、docker 导出的镜像太大怎么处理?
docker导出镜像时进行压缩
1、导出镜像
docker save <myimage>:<tag> | gzip > <myimage>_<tag>.tar.gz
2、导入镜像
gunzip -c <myimage>_<tag>.tar.gz | docker load
示例:
导出:
[root@k8s-01 new]# docker save egistry.aliyuncs.com/google_containers/kube-controller-manager:v1.18.0 |gzip > kube-controller-manager-v1.18.0.tar.gz
导入:
[root@k8s-02 new]# gunzip -c kube-apiserver-v1.18.0.tar.gz |docker load
2e14830ebf64: Loading layer [==================================================>] 120.6MB/120.6MB
Loaded image: registry.aliyuncs.com/google_containers/kube-apiserver:v1.18.0
[root@k8s-02 new]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
registry.aliyuncs.com/google_containers/kube-proxy v1.18.0 43940c34f24f 22 months ago 117MB
registry.aliyuncs.com/google_containers/kube-apiserver v1.18.0 74060cea7f70 22 months ago 173MB