目录
将jar打成镜像,在容器运行:
之前的Dockerfile写法
- #基础镜像
- FROM x.x.x.x/system/openjdk:8u222-jre
- #镜像信息
- LABEL version="1.0" maintainer="xxx@xxx.com"
-
- #修改镜像时间
- ENV TZ=Asia/Shanghai
- RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
-
- VOLUME ["/tmp"]
- #工作空间
- WORKDIR /app/
-
- #把本地的jar复制到镜像里面
- COPY target/*.jar /app/xxxx.jar
-
- #启动命令
- CMD ["java", "-Djava.security.egd=file:/dev/./urandom", "-XX:+UnlockExperimentalVMOptions", "-XX:+UseCGroupMemoryLimitForHeap", "-Xmx60000m", "-Xms50000m", "-jar", "/app/xxxx.jar"]
-
- EXPOSE 32009
现在有个需求,需要修改hosts
所以我们改造一下Dockerfile
- #k8s
- 10.227.13.4 cq-k8s-server1
- 10.227.13.5 cq-k8s-server2
- 10.227.13.6 cq-k8s-master01
- 10.227.13.7 cq-k8s-master02
- 10.227.13.8 cq-k8s-master03
entrypoint.sh
- #!/bin/bash
- set -x
- echo 'Starting....'
- cat /tmp/hosts >> /etc/hosts
- java -Djava.security.egd=file:/dev/./urandom -XX:+UnlockExperimentalVMOptions -XX:+UseCGroupMemoryLimitForHeap -jar /app/xxxx.jar
- FROM x.x.x.x/system_containers/openjdk:v8.0
-
- LABEL version="1.0" maintainer="xxx@xxx.com"
-
- ENV TZ=Asia/Shanghai
- RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
-
- VOLUME ["/tmp"]
-
- WORKDIR /app/
-
- COPY target/*.jar /app/xxxx.jar
- COPY hosts /tmp
- COPY entrypoint.sh /entrypoint.sh
- RUN chmod +x /entrypoint.sh
- ENTRYPOINT ["/entrypoint.sh"]
-
- EXPOSE 32007
文件的目录结构如下,target里面放jar包 :

执行 docker build -t 就可以了