1、使用说明
在使用容器的时候,我们会使用一些公共的容器,我们可能需要对这些容器进行调整,比如:修改时区,添加宋体,添加插件等。可是如果是每次调整比较浪费时间,有时我们下载的插件可能会挂掉,导致我们无法部署服务,我们可以把它打包成自己的镜像,这样每次使用也比较方便
这里所说的镜像指 docker 使用的镜像
2、拥有自己的镜像库
有些同学觉的我没有条件搭建自己的镜像库,没有服务器。
阿里推出个人的容器镜像服务,我们可以使用它,来存储我们的镜像
-
登录阿里云https://www.aliyun.com/
-
右上角有个控制台,点击进入,地址是https://homenew.console.aliyun.com/home/dashboard/ProductAndService
-
进入后点击左上角,有个抽屉页划出。可以在中间的搜索框输入
容器镜像服务
,如图 -
在里面可以上传自己的镜像,下面是我自己的镜像
3、重新打包jdk
我们公司经常使用的jdk是alpine,它的特点是比较小,但是有镜像的基本功能,使用后生成的镜像也不会臃肿,这次示例采用它来进行重新打包。
注意
打包要在安装docker的系统上进行执行
在目录下创建Dockerfile,内容如下:
FROM openjdk:8-jdk-alpine
RUN sed -i 's/dl-cdn.alpinelinux.org/mirrors.aliyun.com/g' /etc/apk/repositories
ENV LANG en_GB.UTF-8
RUN apk add --update ttf-dejavu && rm -rf /var/cache/apk/*
RUN echo "Asia/Shanghai" > /etc/timezone
RUN wget -O /jmx_prometheus_javaagent.jar https://maven.aliyun.com/repository/public/io/prometheus/jmx/jmx_prometheus_javaagent/0.15.0/jmx_prometheus_javaagent-0.15.0.jar
保存文件,当前目录下执行如下命令创建docker images
docker build -t openjdk-alpine:1.0.0 .
让docker登录到阿里云
docker login --username=xxx registry.cn-hangzhou.aliyuncs.com --password=xxx
打tag
docker tag openjdk-alpine:1.0.0 registry.cn-hangzhou.aliyuncs.com/tpdev/openjdk-alpine:1.0.0
上传镜像
docker push registry.cn-hangzhou.aliyuncs.com/tpdev/openjdk-alpine:1.0.0
之后试试拉取镜像
docker pull registry.cn-hangzhou.aliyuncs.com/tpdev/openjdk-alpine:1.0.0
4、结语
码字不易,希望能多多支持。一名四年工作经验的程序猿,目前从事物流行业的工作,有自己的小破网站amoqi.cn。欢迎大家关注公众号【我是刘奇奇】,一起来交流JAVA知识,包括但不限于SpringBoot+微服务,更有奇奇JAVA学习过程中的工具、面试资料和专业书籍等免费放送,也可以加个人联系方式,见公众号下方工具栏上。