Docker使用commit提交新的镜像
前言
我们一直在使用别人打好的镜像来使用,如果需要添加我们自己的东西该怎么做呢,接下来介绍。
Docker镜像commit操作案例
案例一:给ubuntu镜像添加vim和ifconfig命令
更改容器
默认的ubuntu镜像没有vim、ifconfig命令,这里我们先从ubuntu镜像启动一个容器,在容器里安装vim和ifconfig命令,然后将这个容器利用commit重新打包镜像。
[root@localhost ~]# docker run -it ubuntu # 这里没有加-d,只用-it表示启动容器后直接进入容器内部终端 root@812b2a087248:/# apt-get update root@812b2a087248:/# apt-get install -y vim # 安装vim命令 root@812b2a087248:/# apt-get install -y net-tools # 安装ifconfig命令 # 安装完成,退出容器(两种方式): # Ctrl+p+q 退出容器,容器依然后台运行 # exit 退出容器,容器同时关闭
使用commit将容器打包为新的镜像
语法:
docker commit -m="描述信息" -a="作者" 容器ID 要创建的目标镜像名:[标签名]
操作示例:
[root@localhost ~]# docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 812b2a087248 ubuntu "bash" 11 minutes ago Up 11 minutes vigilant_mestorf [root@localhost ~]# [root@localhost ~]# docker commit -m="add vim command" -a="Alex" 812b2a087248 alex/ubuntu:v1.0 sha256:80e71251231cb6c28ccf59137cdf4ac097c1356371faa25d78719ee94d51cde1 [root@localhost ~]# [root@localhost ~]# docker images REPOSITORY TAG IMAGE ID CREATED SIZE alex/ubuntu v1.0 80e71251231c 7 seconds ago 175MB ubuntu latest ba6acccedd29 4 months ago 72.8MB
成功创建的一个新的镜像 alex/ubuntu:v1.0
验证
[root@localhost ~]# docker run -it alex/ubuntu:v1.0 root@077ecca02072:/# vim vim vim.basic vimdiff vimtutor root@077ecca02072:/# whereis vim vim: /usr/bin/vim /usr/bin/vim.basic /etc/vim /usr/share/vim root@077ecca02072:/# root@077ecca02072:/#
成功。
案例二:给tomcat镜像拷贝默认项目
默认的官方tomcat镜像在webapps目录下是没有项目文件的,项目文件都在webapps.dist目录下,本案例演示我们将webapps.dist目录下的项目文件拷贝到webapps目录下,然后重新提交我们处理好的tomcat镜像。
# 启动tomcat容器 docker run -d -p 8080:8080 tomcat # 访问测试 访问 http://192.168.92.146:8080/ 提示404 # 进入容器 [root@localhost ~]# docker exec -it 6f9b131d08cc /bin/bash # 执行拷贝 webapps.dist目录下所有文件到webapps目录下 root@6f9b131d08cc:/usr/local/tomcat# cp -r webapps.dist/* webapps # 退出容器 root@6f9b131d08cc:/usr/local/tomcat# exit # 再次访问测试 访问 http://192.168.92.146:8080/ 成功访问到tomcat汤姆猫页面 # 通过commit提交更改打包为一个新的镜像 [root@localhost ~]# docker commit -m="Add apps to webapps" -a="Alex" 6f9b131d08cc alex_tomcat:v1.0 # 查看打包后的镜像 [root@localhost ~]# docker images REPOSITORY TAG IMAGE ID CREATED SIZE alex_tomcat v1.0 42c23defc464 4 seconds ago 684MB
文章目录
关闭
共有 0 条评论