共计 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 需要使用专门的网络插件来解决这个问题。
原理见下图
正文完