Dockerfile 部署jar包
防火墙端口添加: firewall-cmd --zone=public --add-port=80/tcp --permanent (--permanent永久生效,没有此参数重启后失效) 重新载入 firewall-cmd --reload 查看 firewall-cmd --zone= public --query-port=80/tcp 删除 firewall-cmd --zone= public --remove-port=80/tcp --permanent
Dockerfile 内容如下
vi Dockerfile
#指定以openjdk:8-jre 为基础镜像,来构建此镜像,可以理解为运行的需要基础环境
FROM openjdk:8
ENV jar_file /opt/java_jar/
RUN mkdir -p ${jar_file}
#添加时区指向
ENV TZ=PRC
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
#WORKDIR指令用于指定容器的一个目录, 容器启动时执行的命令会在该目录下执行。
WORKDIR ${jar_file}
#将当前文件夹下面 demo.jar 复制到容器对应目录下
ENV jar_name demo.jar
ADD ${jar_name} ${jar_file}${jar_name}
#jar文件端口 通过启动命令传入进来
ENV server_port ${server_port}
EXPOSE ${server_port}
#容器启动时执行的命令
CMD nohup java -jar \
-Xmx256m -Xmn256m -Xss256k -XX:+HeapDumpOnOutOfMemoryError \
${jar_file}${jar_name} --spring.profiles.active=local --server.port=${server_port}
vi startBuild.sh
#!/bin/bash
echo "开始构建"
#构建镜像
#分别输入 容器名称 和要构建的 版本号 eg test 111 生成版本号为 test:111
#contain_name=test
#version=1
read -p "Please enter your contain name and version eg : demo v1.0: " contain_name version
echo "contain name and version is [${contain_name}:${version}]"
#输入要构建的端口号 或者自定义
#server_port=8001
read -p "Please enter your application server port in(1024到49151) " server_port
echo "you input server port is [${server_port}]"
#取消自定义命令
#contain_name=demo
docker rmi ${contain_name}:${version}
docker buildx build -t ${contain_name}:${version} .
#停用之前的服务
docker stop ${contain_name}
docker rm ${contain_name}
#启动容器
docker run -p ${server_port}:${server_port} -e server_port="${server_port}" --name ${contain_name} -d ${contain_name}:${version}
echo "构建完成"
停止和删除原始容器命令:
vi stopAndRemoveContain.sh
#vi stopAndRemoveContain.sh
#!/bin/bash
read -p "Please enter your [contain name :contain version eg test:1] or contain id: " contain_info
echo "开始删除 contain name or contain id is [${contain_info}]"
#停止容器
docker stop ${contain_info}
#删除容器
docker rm ${contain_info}
#删除容器镜像
docker rmi ${contain_info}
本文来自博客园,作者:diligently,转载请注明原文链接:https://www.cnblogs.com/luo12828-foxmail/p/18068686

浙公网安备 33010602011771号