docker部署java应用

60次阅读
没有评论

共计 1090 个字符,预计需要花费 3 分钟才能阅读完成。

由于公司准备上 k8s,所以先部分应用部署到 docker 上,测试问题,
本人先做了一个系统的初始底包
安装好环境所需要的包

[root@VM-3-10-centos docker]# cat Dockerfile
FROM openjdk:11
MAINTAINER www.g6k.cn

RUN sed -i s@/security.debian.org/@/mirrors.aliyun.com/@g /etc/apt/sources.list \
    && sed -i s@/deb.debian.org/@/mirrors.aliyun.com/@g /etc/apt/sources.list \
    && apt-get clean \
    && apt-get update \
    && apt-get upgrade -y \
    && apt-get install -y --no-install-recommends telnet net-tools fonts-dejavu fontconfig \
    && rm -rf /var/lib/apt/lists/* \
    && ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime \
    && echo "Asia/Shanghai" > /etc/timezone

制作基础镜像(后面可以使用 tag 更改)

docker build -t openjdk:ops_v11 .

准备服务的 dockerfile(ENV 是您这个 jar 包的传参)

[root@VM-3-10-centos servers]# ls
az-ops-gateway.jar  Dockerfile

root@VM-3-10-centos servers]# cat Dockerfile
FROM openjdk:az_v11
ADD az-ops-gateway.jar /opt/az-ops-gateway.jar
ENV JAVA_OPTS="-Xmx512m -Xms512m -Dspring.profiles.active=dev"
ENTRYPOINT ["/bin/sh","-c","java $JAVA_OPTS -jar /opt/az-ops-gateway.jar"]

制作服务镜像

docker build -t az-ops-gateway:v34 .

启动服务

docker run -itd -p 8200:8200--name az-ops-gateway az-ops-gateway:v34 /bin/bash

注意的坑,如果使用 nacos 做了服务发现,由于注册的是 docker 的内网,所以跨主机是会出现网络问题的。所以
k8s 需要使用专门的网络插件来解决这个问题。
原理见下图
docker 部署 java 应用

正文完
 0
yx
版权声明:本站原创文章,由 yx 于2022-07-01发表,共计1090字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
评论(没有评论)
验证码