容器生成镜像并传输到其他服务器
容器生成镜像并传输到其他服务器
容器——》镜像——》打包——》传输——》解包为镜像
1、从容器创建一个镜像
使用到的命令:
docker commit :从容器创建一个新的镜像
docker commit [OPTIONS] CONTAINER [REPOSITORY[:TAG]]
OPTIONS说明:
- -a :提交的镜像作者;
- -c :使用Dockerfile指令来创建镜像;
- -m :提交时的说明文字;
- -p :在commit时,将容器暂停。
例1
docker commit -a "runoob.com" -m "my apache" a404c6c174a2 mymysql:v1
例2
docker commit -m "" -a "" [CONTAINER ID] [给新的镜像命名]
docker commit -m "" -a "" aa myelasticsearch:1.0
二、打包一个镜像
docker save [OPTIONS] IMAGE [IMAGE...]
docker save -o my_ubuntu_v3.tar runoob/ubuntu:v3
三、镜像远程拷贝
使用scp传输至其他服务器:
从本地复制到远程:
[](javascript:void(0)😉
scp local_file remote_username@remote_ip:remote_folder
或者
scp local_file remote_username@remote_ip:remote_file
或者
scp local_file remote_ip:remote_folder
或者
scp local_file remote_ip:remote_file
[](javascript:void(0)😉
从远程复制到本地
scp root@www.runoob.com:/home/root/others/music /home/space/music/1.mp3
scp -r www.runoob.com:/home/root/others/ /home/space/music/
四、新服务器载入镜像
docker load [OPTIONS]
OPTIONS 说明:
- --input , -i : 指定导入的文件,代替 STDIN
- --quiet , -q : 精简输出信息。
如:
$ docker load --input fedora.tar
docker load 命令
语法
docker load [OPTIONS]
OPTIONS 说明:
-
--input , -i : 指定导入的文件,代替 STDIN。
-
--quiet , -q : 精简输出信息。
实例
导入镜像:
$ docker image ls
REPOSITORY TAG IMAGE ID CREATED SIZE
$ docker load < busybox.tar.gz
Loaded image: busybox:latest
$ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
busybox latest 769b9341d937 7 weeks ago 2.489 MB
$ docker load --input fedora.tar
Loaded image: fedora:rawhide
Loaded image: fedora:20
$ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
busybox latest 769b9341d937 7 weeks ago 2.489 MB
fedora rawhide 0d20aec6529d 7 weeks ago 387 MB
fedora 20 58394af37342 7 weeks ago 385.5 MB
fedora heisenbug 58394af37342 7 weeks ago 385.5 MB
fedora latest 58394af37342 7 weeks ago 385.5 MB
参考博客:https://www.cnblogs.com/007sx/p/12919027.html
参考菜鸟教程:https://www.runoob.com/docker/docker-load-command.html