使用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.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 为最终生产出来的镜像

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值