一.docker迁移与备份
(1)拷贝镜像
docker commit redis myredis
2.创建容器
docker run -di --name=myredis myredis
3.镜像备份
docker save -o myredis.tar myredis
-o output 输入
4.镜像恢复与迁移
(1)停止容器
docker stop myredis
(2)移除容器与镜像
docker rm myredis -- 移除容器
docker rmi myredis --移除镜像
(3)恢复
docker load -i myredis.tar
-i (intput)输入的文件
(4)创建容器
docker run -di --name=myredis myredis
二.Dockerfile
(1)什么是Dockerfile
- Dockerfile是由一系列命令和参数构成的脚本,这些命令应用于基础镜像并最终创建一个新的镜像.
- 对于开发人员: 可以为开发团队提供一个安全一致的开发环境
- 对于测试人员: 可以直接拿开发时所构建的镜像或者通过Dockerfile文件构建一个新的镜像开始工作
- 对于运维人员: 在部署时.可以实现应用的无缝移植
(2)常用命令
- FROM image_name:tag 定义基础镜像
- MAINTAINER user_info 声明镜像维护者信息
- LABEL key=value 镜像描述元信息(可多条)
- ENV key=value 设置环境变量(可多条)
- RUN command 构建镜像时需要执行的命令(可多条)
- WORKDIR path_dir 设置终端默认工作空间
- ADD source_dir/file dest_dir/file 将宿主机的文件复制到容器,如果是压缩文件将自动解压
例如:Dockerfile构建jdk1.81镜像
vim Dockerfile
1入下列内容:
FROM centos:7
MAINTAINER hhh
WORKDIR /mnt
RUN mkdir /mnt/jdk
ADD jdk-8u301-linux-x64.tar.gz /mnt/jdk
ENV JAVA_HOME /mnt/jdk/jdk1.8.0_301
ENV PATH $JAVA_HOME/bin:$PATH
2.建立名为jdk1.81的镜像
docker built -t='jdk1.81' .
.代表当前目录
结果如下: