Docker基于现有镜像构建新镜像

由现有镜像构建新镜像都是通过Dockerfile文档来实现的。

1、新建Dockerfile文档

在/home文件夹下新建一个文件夹,专门用来测试的,/docker/test文件夹,在文件夹中新建一个Dockerfile文档,文档中写入以下内容:

FROM    centos:6.7

RUN     apt-get update
RUN     apt-get install -y vim

EXPOSE  80

Dockerfile文档中,每行的第一个关键字都必须大写。

第一行的意思是新建镜像的源镜像是Centos版本。
第二行是新建镜像后执行的第一条命令,表示新建镜像后,首先更新后续下载各种应用的网址。
第三行是安装vim,方便后续在命令行中编辑脚本,-y是为了让其自动安装,否则安装过程会让你输入Y/n,如果不输入,就会执行失败。
最后第四行的意思是暴露80端口,像昨天的文章中的webapp端口映射,如果在这个镜像中执行到端口5000的映射,是会失败的,因为这个端口未对外开放。

2、在Dockerfile所在目录下执行命令

su root
cd docker/test
docker build -t cdl-test-0.0 .

最后一句话中,-t后面跟的是指定的镜像名,镜像名后面再跟一个点,表示是通过当前目录下的Dockerfile中的内容来创建新的镜像,所以注意,前一句cd命令和这一句最后的点都不能少!!

3、查看新镜像
docker images

结果:

REPOSITORY TAG IMAGE ID CREATED SIZE
cdl-test-0.0 latest da5d6c1147a7 4 minutes ago 185MB
runoob/centos 6.7 542cf01e7692 27 minutes ago 191MB
ubuntu 16.04 52b10959e8aa 5 days ago 115MB
ubuntu 18.04 16508e5c265d 5 days ago 84.1MB
centos 6.7 f2e2f7b8308b 3 weeks ago 191MB
training/webapp latest 6fae60ef3446 3 years ago 349MB

4、查看镜像中安装的应用
#进入新建镜像的命令行
docker run -it cdl-test-0.0 /bin/bash
#打开vim
vim
#安装python3.7
apt-get install python3.7
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: "docker commit" 命令用于构建一个镜像,通过将当前容器的修改应用于指定的镜像。语法为:`docker commit [OPTIONS] CONTAINER [REPOSITORY[:TAG]]`。 例如,如果当前正在运行一个容器,并且要创建一个名为"mynewimage"的镜像,则可以使用以下命令:`docker commit CONTAINER_ID mynewimage`。 ### 回答2: Docker是一个开源的容器化引擎,可以将应用程序及其依赖项封装在轻量级的容器中,实现快速部署和移植。Docker提供了许多常用操作,如镜像、容器、网络等。 在Docker中,我们通过镜像来实现容器的构建和部署。镜像是一个轻量级的虚拟环境,包含应用程序及其依赖项、系统工具和文件系统等组件。Docker提供了许多常用的镜像,如Ubuntu、CentOS、Nginx、MySQL等。在构建镜像时,通常需要通过Dockerfile文件描述要构建镜像的组件及其安装和配置方式。 除了使用Dockerfile文件构建镜像外,我们还可以使用docker commit命令创建镜像。该命令将容器的当前状态保存为镜像,并记录镜像的版本号和元数据。因此,使用docker commit命令构建镜像通常需要在已有的容器上进行。 使用docker commit命令构建镜像的方法如下: 首先,启动一个容器,并在其中进行一些修改或配置;其次,在容器上执行docker commit命令,将容器的当前状态保存为镜像。具体语法为: docker commit [OPTIONS] CONTAINER [REPOSITORY[:TAG]] 其中,CONTAINER指定要保存为镜像的容器的ID或名称,REPOSITORY和TAG指定镜像的存储位置和版本号。 OPTIONS可以使用以下选项: -a, --author="":指定镜像的作者。 -c, --change="":应用在容器上的Dockerfile命令。 -m, --message="":提交镜像时的注释。 -p, --pause=true:在保存容器的状态前暂停容器。 使用docker commit命令构建镜像的过程中,容器内的数据会被保存为镜像的一部分,包括文件系统、环境变量、进程等。因此,该方法适用于需要对现有镜像进行较小的修改和调整的场景。 总之,使用docker commit命令可以快速创建镜像,并在现有镜像的基础上进行修改和调整。这是Docker构建容器化环境的重要方式之一。 ### 回答3: Docker commit构建镜像Docker提供的一种镜像管理方式,其可以通过修改一个已经运行的容器,创建一个全Docker镜像。通过该操作,用户可以将容器中的所有文件、目录、环境变量、运行状态等打包成一个Docker镜像Docker commit的使用非常简单,只需要通过命令docker commit来指定容器和镜像名即可。例如,将一个名为nginx的容器打包成一个名为new-nginx的镜像,命令如下: docker commit nginx new-nginx 在生成镜像后,我们可以使用docker images命令来查看生成的镜像。同时,该操作还可以向镜像中添加的应用程序、配置文件等,从而定制一个符合自己需求的Docker镜像Docker commit的应用场景很广泛,特别是在需要频繁调试和测试应用程序的场合中。通过该操作,我们可以快速创建出一个包含必要软件和配置的Docker镜像,从而节约了很多的时间和人力成本。此外,在开发过程中,我们可以通过Docker commit来生成不同的版本,便于管理和维护。 总的来说,Docker commit构建镜像Docker提供的一个非常重要的功能,它提供了很多灵活性和定制化的选择。通过这个操作,我们可以快速生成适应自己需求的Docker镜像,从而实现更加高效和便捷的容器管理。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值