Appearance
导入导出
在某些情况下,我们自定义镜像作为模版,比如在Ubuntu容器安装Java运行环境,我们可以将此初始化好的环境导出称为镜像,以后使用此镜像来创建容器,就自带了java的运行环境,而不用每次创建容器都进行环境的安装,类似虚拟机的模板文件
当然也可以使用Dockerfile
直接构建镜像,但是Dockerfile
需要编写,而导出镜像则不需要编写,直接将容器导出即可,当然,导出的镜像也可以导入到其他服务器上使用,导入的镜像可以创建容器,也可以直接使用,导入的镜像也可以作为模板进行修改,创建新的镜像。
1 容器的导入导出
1.1 容器导出
docker export -o 文件名.tar 容器ID
bash
root@kali:~# docker export -o myAlpine.tar.gz 9188
root@kali:~# ls
myAlpine.tar.gz thinclient_drives
1.2 容器导入
docker import 文件名 镜像用户/镜像名:镜像版本号
bash
root@kali:~# docker import myAlpine.tar.gz moujun/my-alpine:0.0.1
sha256:0a79a0402e43234468b0896277bf342c385f73134ac21ecde0e012c946fa0318
root@kali:~# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
moujun/my-alpine 0.0.1 0a79a0402e43 7 seconds ago 5.59MB
alpine latest c059bfaa849c 7 weeks ago 5.59MB
ubuntu latest ba6acccedd29 3 months ago 72.8MB
root@kali:~#
注意
镜像名称必须要小写,否则报错
2 镜像的导入导出
2.1 镜像导出
docker save -o 文件名.tar 镜像名[:镜像tag]
bash
root@kali:~# docker save -o myAlpine.tar.gz moujun/my-alpine:0.0.1
root@kali:~# ls
myAlpine.tar.gz myAlpine.tar.gz thinclient_drives
2.2 镜像导入
docker load -i 文件名.tar
bash
root@kali:~# docker load -i myAlpine.tar.gz
Loaded image ID: sha256:0a79a0402e43234468b0896277bf342c385f73134ac21ecde0e012c946fa0318
root@kali:~# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
moujun/my-alpine 0.0.1 0a79a0402e43 2 minutes ago 5.59MB
alpine latest c059bfaa849c 7 weeks ago 5.59MB
ubuntu latest ba6acccedd29 3 months ago 72.8MB