jdk镜像与jar包镜像制作

1.jdk11镜像制作

vi Dockerfile

#1.指定基础镜像,并且必须是第一条指令
FROM centos:7

#2.指明该镜像的作者和其电子邮件
MAINTAINER liujia "564729737@qq.com"

#3.在构建镜像时,指定镜像的工作目录,之后的命令都是基于此工作目录,如果不存在,则会创建目录
WORKDIR /data

#4.一个复制命令,把jdk安装文件复制到镜像中,语法:ADD <src>... <dest>,注意:jdk*.tar.gz使用的是相对路径
ADD jdk-11.0.10_linux-x64_bin.tar.gz /data/

#5.设置时区
RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
RUN echo 'Asia/Shanghai' >/etc/timezone

#6.配置环境变量
ENV JAVA_HOME=/data/jdk-11.0.10
ENV CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
ENV PATH=$PATH:$JAVA_HOME/bin

#容器启动时需要执行的命令
#CMD ["java","-version"]
构建镜像,打标签,上传镜像仓库
docker build -t jdk11 .
docker tag jdk11:latest registry.cn-shenzhen.aliyuncs.com/liujia2319/centos-jdk11:1
docker push registry.cn-shenzhen.aliyuncs.com/liujia2319/centos-jdk11:1

 2.利用自制jdk构建jar包镜像

FROM registry.cn-shenzhen.aliyuncs.com/liujia2319/centos-jdk11:1
WORKDIR /home
ADD osale-clue-1.0.0-SNAPSHOT.jar osale-clue.jar
ADD classes classes
EXPOSE 8080
CMD ["java","-jar","osale-clue.jar"]
构建镜像并且上传
docker build -t registry.cn-shenzhen.aliyuncs.com/liujia2319/osale-clue:1 .
docker push registry.cn-shenzhen.aliyuncs.com/liujia2319/osale-clue:1
运行容器
docker run -it -d -p 8080:8080 --name=osale-clue registry.cn-shenzhen.aliyuncs.com/liujia2319/osale-clue:1

 jdk和jar镜像合并制作

#1.指定基础镜像,并且必须是第一条指令
FROM centos:7

#2.指明该镜像的作者和其电子邮件
MAINTAINER liujia "564729737@qq.com"

#3.在构建镜像时,指定镜像的工作目录,之后的命令都是基于此工作目录,如果不存在,则会创建目录
WORKDIR /data

#4.一个复制命令,把jdk安装文件复制到镜像中,语法:ADD <src>... <dest>,注意:jdk*.tar.gz使用的是相对路径
ADD jdk-11.0.10_linux-x64_bin.tar.gz /data/

#5.设置时区
RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
RUN echo 'Asia/Shanghai' >/etc/timezone

#6.配置环境变量
ENV JAVA_HOME=/data/jdk-11.0.10
ENV CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
ENV PATH=$PATH:$JAVA_HOME/bin

ADD osale-clue-1.0.0-SNAPSHOT.jar osale-clue.jar
ADD classes classes
EXPOSE 8080
CMD ["java","-jar","osale-clue.jar"]

 3.使用阿里云镜像仓库

阿里云账号搜索:容器镜像服务
2. 配置镜像加速器
针对Docker客户端版本大于 1.10.0 的用户

您可以通过修改daemon配置文件/etc/docker/daemon.json来使用加速器

sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://63gbvm2w.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker

创建个人免费仓库,并且设置密码
docker login --username=刘佳2319 registry.cn-shenzhen.aliyuncs.com
liujia9.....

1. 登录阿里云Docker Registry
$ docker login --username=刘佳2319 registry.cn-shenzhen.aliyuncs.com
用于登录的用户名为阿里云账号全名,密码为开通服务时设置的密码。

您可以在访问凭证页面修改凭证密码。

2. 从Registry中拉取镜像
$ docker pull registry.cn-shenzhen.aliyuncs.com/liujia2319/centos-jdk11:[镜像版本号]
3. 将镜像推送到Registry
$ docker login --username=刘佳2319 registry.cn-shenzhen.aliyuncs.com
$ docker tag [ImageId] registry.cn-shenzhen.aliyuncs.com/liujia2319/centos-jdk11:[镜像版本号]
$ docker push registry.cn-shenzhen.aliyuncs.com/liujia2319/centos-jdk11:[镜像版本号]

4.jar包镜像制作

FROM centos:centos7
RUN yum -y install openssl gcc gcc-c++ wget
RUN yum -y install kde-l10n-Chinese && yum -y reinstall glibc-common
RUN localedef -c -f UTF-8 -i zh_CN zh_CN.utf8
ENV LC_ALL zh_CN.utf8
RUN mkdir /data 
ADD jdk1.8 /data/jdk1.8
ENV JAVA_HOME=/data/jdk1.8
ENV CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
ENV PATH=$PATH:$JAVA_HOME/bin
ENV TZ=Asia/Shanghai
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
ADD mall-admin-1.0-SNAPSHOT.jar /home/mall-admin-1.0-SNAPSHOT.jar
EXPOSE 8084
CMD ["java","-jar","/home/mall-admin-1.0-SNAPSHOT.jar"]

 

FROM java:8
RUN cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && echo "Asia/Shanghai" > /etc/timezone
ADD mall-admin-1.0-SNAPSHOT.jar /home/mall-admin-1.0-SNAPSHOT.jar
EXPOSE 8084
CMD ["java","-jar","-Djava.security.egd=file:/dev/./urandom","-jar","/home/mall-admin-1.0-SNAPSHOT.jar"]

jdk1.8官方镜像

######## readme -- start ########
# build:
## docker build -t linice/openjdk8:v1.4.0.3 .

# test:
## docker run --rm -it --entrypoint=bash --hostname=openjdk8-origtest --name=openjdk8-origtest -v /mnt/hgfs/:/mnt/hgfs/ openjdk:8u302-jdk-buster
## docker run --rm -it --entrypoint=bash --hostname=openjdk8-test --name=openjdk8-test -v /mnt/hgfs/:/mnt/hgfs/ linice/openjdk8:v1.4.0.3
######## readme -- end ########

FROM openjdk:8u302-jdk-buster

# arthas-bin-3.6.6
# wget https://github.com/alibaba/arthas/releases/tag/arthas-all-3.6.6/arthas-bin.zip
COPY arthas-bin.zip /tmp/
RUN mkdir /opt/arthas-bin \
  && cd /opt/arthas-bin \
  && unzip /tmp/arthas-bin.zip

# elastic-apm-agent-1.32.0
# wget https://repo1.maven.org/maven2/co/elastic/apm/elastic-apm-agent/1.32.0/elastic-apm-agent-1.32.0.jar
RUN mkdir /opt/apm
COPY elastic-apm-agent-1.32.0.jar /opt/apm

# jacoco
# https://search.maven.org/remotecontent?filepath=org/jacoco/jacoco/0.8.8/jacoco-0.8.8.zip
COPY jacoco-0.8.8.zip /tmp/
RUN mkdir /opt/jacoco \
  && cd /opt/jacoco \
  && unzip /tmp/jacoco-0.8.8.zip

# clean
RUN cd /tmp \
  && \rm -f arthas-bin.zip jacoco-0.8.8.zip

 

官网拉取openjdk11基础镜像

######## readme -- start ########
# build:
## docker build -t linice/openjdk11:v1.3.0.2 .

# test:
## docker run --rm -it --entrypoint=bash --hostname=openjdk11-origtest --name=openjdk11-origtest -v /mnt/hgfs/:/mnt/hgfs/ openjdk:11.0.12-jdk-buster
## docker run --rm -it --entrypoint=bash --hostname=openjdk11-test --name=openjdk11-test -v /mnt/hgfs/:/mnt/hgfs/ linice/openjdk11:v1.3.0.2

# access:
## docker exec -it openjdk11-origtest bash
## docker exec -it openjdk11-test bash
######## readme -- end ########

FROM openjdk:11.0.12-jdk-buster

# arthas-bin-3.6.6
# wget https://github.com/alibaba/arthas/releases/tag/arthas-all-3.6.6/arthas-bin.zip
COPY arthas-bin.zip /tmp/
RUN mkdir /opt/arthas-bin \
  && cd /opt/arthas-bin \
  && unzip /tmp/arthas-bin.zip

# elastic-apm-agent-1.32.0
# wget https://repo1.maven.org/maven2/co/elastic/apm/elastic-apm-agent/1.32.0/elastic-apm-agent-1.32.0.jar
RUN mkdir /opt/apm
COPY elastic-apm-agent-1.32.0.jar /opt/apm

# jacoco
# https://search.maven.org/remotecontent?filepath=org/jacoco/jacoco/0.8.8/jacoco-0.8.8.zip
COPY jacoco-0.8.8.zip /tmp/
RUN mkdir /opt/jacoco \
  && cd /opt/jacoco \
  && unzip /tmp/jacoco-0.8.8.zip


# 安装telnet
RUN apt-get update  && apt-get install telnet*

# clean
RUN cd /tmp \
  && \rm -f arthas-bin.zip jacoco-0.8.8.zip

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值