Docker容器迁移和镜像迁移

85 阅读1分钟

image.png

镜像迁移

将服务器A上的镜像拷贝一份到服务器B上

# 保存image到本地tar文件中
docker save 65bb5db22a5b -o 65bb5db22a5b.tar

新的机器加载该镜像

# 加载磁盘上镜像到docker中
docker load -i 65bb5db22a5b.tar

基于某容器创建一个新的镜像

容器打包为镜像(需暂停容器)

docker commit -m="image update" -a="matio" e218edb10161 test/ubuntu:v2

各个参数说明:

  • -m:   提交的描述信息
  • -a:   指定镜像作者
  • e218edb10161:  容器ID
  • test/ubuntu:v2:   新的镜像名

镜像打包为本地文件

docker save 65bb5db22a5b -o 65bb5db22a5b.tar

新环境导入该镜像

docker load -i 65bb5db22a5b.tar

然后使用我们的新镜像来启动一个容器

docker run -t -i test/ubuntu:v2 /bin/bash

导入导出容器

将容器导出到本地文件test.tar中

docker export 某容器id > test.tar

导入为新的镜像

docker import test.tar newimage:export

或者

# 导入为镜像
cat ./test.tar | docker import - test/ubuntu:v1
# 通过指定 URL 或者某个目录来导入
docker import http://example.com/exampleimage.tgz example/imagerepo

基于Dockerfile文件构建一个镜像

docker build -t test/centos:6.7 .

参数说明:

  • -t :指定要创建的目标镜像名
  • .   :Dockerfile 文件所在目录,可以指定Dockerfile 的绝对路径