Docker笔记--容器转换为镜像、Dockerfile的使用

目录

1--使用 docker commit 将容器转换为镜像

1-1--容器转换为镜像

1-2--实例代码

1-3--注意事项

2--Dockerfile的使用

2-1--常用关键字

2-2--利用 dockerfile 搭建 Centos:7 镜像


1--使用 docker commit 将容器转换为镜像

1-1--容器转换为镜像

# 将容器转换为镜像
docker commit 容器id 镜像名称:版本号

# 将镜像打包为压缩包,用于传输
docker save -o 压缩文件名称 镜像名称:版本号

# 将镜像压缩包解压为镜像
docker load -i 压缩文件名称

1-2--实例代码

① 查看当前容器和当前镜像

sudo docker ps -a

sudo docker images

② 将容器转换为镜像

sudo docker commit 6cad15a02dc2 redis_test1216:1.0

         由上图查看镜像可知,基于容器 test1211 成功生成了一个新镜像,其名称为 redis_test1216,版本号为 1.0;

③ 将镜像打包为压缩包

sudo docker save -o redis_1216.rar redis_test1216:1.0

        由上图可知,成功生成了一个镜像压缩包文件 redis_1216.rar;

④ 将镜像压缩包解压为镜像文件

sudo docker load -i redis_1216.rar

         上图首先删除了 redis_test1216:1.0 镜像,接着通过压缩包进行加载新的镜像 redis_test1216:1.0;

1-3--注意事项

        通过 docker commit 将容器转换为镜像的方式,并不会包含数据卷的内容,即新镜像没有原数据卷的内容,而不属于数据卷的内容则会被保留。

2--Dockerfile的使用

2-1--常用关键字

① FROM:指定父镜像,指定dockerfile基于哪个镜像进行创建;

② MAINTAINER:作者信息;

③ LABEL:标签,用来标明 dockerfile 的标签;

④ RUN:执行命令,用于执行一段命令,格式为 RUN command 或 RUN ["command", "param1", "param2"];

⑤ COPY:复制文件,用于 build 的时候将文件复制到 image 中;

⑥ ADD:添加文件,用于 build 的时候添加文件到 image 中,文件可以来源于远程服务;

⑦ ENV:环境变量,指定 build 时候的环境变量,在启动容器的时候可以通过 -e 进行覆盖;

⑧ WORKDIR:工作目录,指定容器内部的工作目录;

2-2--利用 dockerfile 搭建 Centos:7 镜像

① 利用 vim 编写 dockerfile 文件

vim test_dockerfile
FROM centos:7
MAINTAINER test_by_ljf

RUN yum install -y vim
WORKDIR /usr

CMD /bin/bash

② 执行 dockerfile 文件

sudo docker build -f ./test_dockerfile -t ljf_centos:1 .

        -f 参数表示要执行的 docker file 文件,-t 表示创建镜像的名称和版本号;

③ 测试查看创建的新镜像

sudo docker images

上图可知,成功由 dockerfile 创建了一个新镜像 ljf_centos!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值