导出Docker镜像或者容器
source link: https://www.itwork.club/2021/09/28/docker-export-images/
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
导出Docker镜像或者容器
Sep 28, 2021Docker2点击
说起 Docker
当然是离不开镜像和容器,有时候我们需要做一些镜像和容器的备份,便于后期恢复使用,也可以提供给其它人使用,那么备份镜像和容器涉及到哪些命令,又是怎么使用的呢?本文介绍一下Docker镜像的导入导出,用于迁移、备份、升级等场景。
EXPORT命令
docker export [options] container
我们输入 docker export --help
来看一下具体用法,如下图:
docker export -o mysql8.tar mysql8
其中 -o
表示输出到文件,mysql8.tar
为目标文件,mysql8
是源容器名(name
)
IMPORT命令
docker import [options] file |URL| - [REPOSITORY[:TAG]]
我们输入 docker import --help
来看一下具体用法,如下图:
docker import mysql8.tar mysql:1.0
或
cat mysql8.tar | docker import - mysql8:1.0
SAVE命令
docker save [options] images [images...]
我们输入 docker save --help
来看一下具体用法,如下图:
docker save -o mysql.tar mysql:latest
或
docker save > mysql.tar mysql:latest
使用以上两种方式都可以,其中 -o
和 >
表示输出到文件,mysql.tar
为目标文件,mysql:latest
是源镜像名(name:tag
)
LOAD命令
docker load [options]
我们输入 docker load --help
来看一下具体用法,如下图:
docker load -i mysql.tar
或
docker load < mysql.tar
其中 -i
和 <
表示从文件输入。会成功导入镜像及相关元数据,包括 tag
信息
export
命令导出的tar文件略小于save
命令导出的export
命令是从容器(container
)中导出tar
文件,而save
命令则是从镜像(images
)中导出基于第二点,
export
导出的文件再import
回去时,无法保留镜像所有历史(即每一层layer
信息,不熟悉的可以去看Dockerfile
),不能进行回滚操作;而save
是依据镜像来的,所以导入时可以完整保留下每一层layer
信息。
可以依据具体使用场景来选择命令
- 若是只想备份
images
,使用save
、load
即可 - 若是在启动容器后,容器内容有变化,需要备份,则使用
export
、import
。
Recommend
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK