docker_practice/container/import_export.md

33 lines
1.5 KiB
Go
Raw Normal View History

2017-11-22 03:22:57 +00:00
## 导出和导入容器
2017-11-22 03:22:57 +00:00
### 导出容器
如果要导出本地某个容器可以使用 `docker export` 命令
2017-11-13 10:54:38 +00:00
```bash
$ docker container ls -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
2018-12-19 09:24:52 +00:00
7691a814370e ubuntu:18.04 "/bin/bash" 36 hours ago Exited (0) 21 hours ago test
2017-11-13 10:54:38 +00:00
$ docker export 7691a814370e > ubuntu.tar
```
这样将导出容器快照到本地文件
2017-11-22 03:22:57 +00:00
### 导入容器快照
可以使用 `docker import` 从容器快照文件中再导入为镜像例如
2017-11-13 10:54:38 +00:00
```bash
$ cat ubuntu.tar | docker import - test/ubuntu:v1.0
$ docker image ls
REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE
test/ubuntu v1.0 9d37a6082e97 About a minute ago 171.3 MB
```
此外也可以通过指定 URL 或者某个目录来导入例如
2017-11-13 10:54:38 +00:00
```bash
$ docker import http://example.com/exampleimage.tgz example/imagerepo
```
*用户既可以使用 `docker load` 来导入镜像存储文件到本地镜像库也可以使用 `docker import` 来导入一个容器快照到本地镜像库这两者的区别在于容器快照文件将丢弃所有的历史记录和元数据信息即仅保存容器当时的快照状态而镜像存储文件将保存完整记录体积也要大此外从容器快照文件导入时可以重新指定标签等元数据信息*