本文已参与「新人创作礼」活动,一起开启掘金创作之路
5 迁移与备份
5.1 容器保存为镜像
我们可以通过以下命令将容器保存为镜像
docker commit mynginx mynginx_i
5.2 镜像备份
我们可以通过以下命令将镜像保存为tar 文件
docker save -o mynginx.tar mynginx_i
5.3 镜像恢复与迁移
首先我们先删除掉mynginx_img镜像 然后执行此命令进行恢复
docker load -i mynginx.tar
-i 输入的文件
执行后再次查看镜像,可以看到镜像已经恢复
5.4、拥有自己的镜像库
有些同学觉的我没有条件搭建自己的镜像库,没有服务器。
阿里推出个人的容器镜像服务,我们可以使用它,来存储我们的镜像
-
登录阿里云www.aliyun.com/
-
右上角有个控制台,点击进入,地址是homenew.console.aliyun.com/home/dashbo…
-
进入后点击左上角,有个抽屉页划出。可以在中间的搜索框输入
容器镜像服务
,如图 -
在里面可以上传自己的镜像,下面是我自己的镜像
-
我们公司经常使用的jdk是alpine,它的特点是比较小,但是有镜像的基本功能,使用后生成的镜像也不会臃肿,这次示例采用它来进行重新打包。
注意
打包要在安装docker的系统上进行执行
在目录下创建Dockerfile,内容如下:
FROM openjdk:8-jdk-alpine
RUN sed -i 's/dl-cdn.alpinelinux.org/mirrors.aliyun.com/g' /etc/apk/repositories
ENV LANG en_GB.UTF-8
RUN apk add --update ttf-dejavu && rm -rf /var/cache/apk/*
RUN apk add curl
RUN echo "Asia/Shanghai" > /etc/timezone
RUN wget -O /jmx_prometheus_javaagent.jar https://maven.aliyun.com/repository/public/io/prometheus/jmx/jmx_prometheus_javaagent/0.15.0/jmx_prometheus_javaagent-0.15.0.jar
保存文件,当前目录下执行如下命令创建docker images
docker build -t openjdk-alpine:1.0.0 .
让docker登录到阿里云
docker login --username=xxx registry.cn-qingdao.aliyuncs.com --password=xxx
打tag
docker tag openjdk-alpine:1.0.0 registry.cn-qingdao.aliyuncs.com/amoqi-public/openjdk-alpine
上传镜像
docker push registry.cn-qingdao.aliyuncs.com/amoqi-public/openjdk-alpine
之后试试拉取镜像
docker pull registry.cn-qingdao.aliyuncs.com/amoqi-public/openjdk-alpine