当前位置:   article > 正文

使用docker制作自己想要的镜像_docker 使用已有的镜像制作镜像

docker 使用已有的镜像制作镜像

目的

构建java,环境就需要安装maven、git等组件,由于环境一旦迁移,会导致新环境又需要重新安装一遍组件。为了解决该问题,我们可以把java、maven、git等组件,安装在一个容器中,并且在该容器里面进行构建。

一、构建构建镜像

1.1 准备一个基础镜像,一般我们选用centos7作为基础镜像

dockerhub镜像: centos:centos7

1.2 为了方便,我们直接把基础镜像运行起来,然后在该镜像中安装软件

docker run -it centos:centos7

注意:执行以上的命令,会直接进入到容器中

ps: -it: 以交互模式运行容器、为容器重新分配一个伪输入终端

如果服务器可以联网,执行以下方式安装软件
在该环境,我们安装git、jdk、mavne,为了快速演示,我均采用yum安装
yum install java-1.8.0-openjdk* -y
yum -y install apache-maven
  • 1
  • 2
  • 3
  • 4

1.3 其他操作

1、如何退出容器

ctrl按住不放,再按 p + q 即可退出容器

或者

输入 exit

2、如何拷贝东西到镜像中

docker ps
获取 CONTAINER ID
例如:
43ac2a3f49dd

docker cp 【当前文件夹】 【CONTAINER ID】:【容器目录】
例如:
docker cp ./data 43ac2a3f49dd:/opt

3、如何再次进入到容器中

docker exec -it 43ac2a3f49dd /bin/bash

4、进入容器后,所有操作与linux无差别,可以在里面安装自己想要的

二、生产出需要的镜像

重要:把多余的文件删除掉(比如构建的代码等)!!!

停止运行镜像
docker stop 43ac2a3f49dd

命名格式为:
docker commit 【CONTAINER ID】 【容器名称】

例如:
docker commit 43ac2a3f49dd 172.25.10.70:1000/library/java8-mvn-centos7:v1.0.0

将镜像推送到镜像仓库中,作为基础镜像使用。

ps:直接使用commit这种方式创建的镜像,默认启动命令会继承最开始的镜像,比如我们目前的镜像启动命令为:CMD [“/bin/bash”]

如上所述:
172.25.10.70:1000/library/java8-mvn-centos7:v1.0.0 为最终生产出来的镜像

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/凡人多烦事01/article/detail/255954
推荐阅读
相关标签
  

闽ICP备14008679号