部署后端
将部署的文件jar包放入到服务器中
dockerfile文件
FROM openjdk:8
MAINTAINER XXXX
RUN mkdir -p /opt/app
RUN cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && echo 'Asia/Shanghai'>/etc/timezone
WORKDIR /opt/app
ADD ./config-1.0.jar /opt/app/
EXPOSE 7780
CMD ["java", "-XX:MetaspaceSize=128m", "-XX:MaxMetaspaceSize=128m", "-Xms512m", "-Xmx512m", "-Xmn256m", "-Xss256k", "-XX:SurvivorRatio=8", "-XX:+UseConcMarkSweepGC", "-Dfile.encoding=UTF-8", "-jar", "config-1.0.jar"]
执行指令
docker stop pro-emr-config
docker rm -f pro-emr-config
docker rmi -f emr-config:pro
docker build -t emr-config:pro -f emr-config-dockerfile .
docker run -d --name pro-emr-config -m 1G --restart always -p 7780:7780 -v /opt/app/pro-jar/emrConfig.yml:/opt/app/emrConfig.yml --network host emr-config:pro
有关docker的镜像的保存和和加载到其他的docker容器
docker save imageId > XXX.tar
docker load < XXX.tar
部署时特别需要注意的几点:
1.配置文件的放置
2.防火墙的开启(前端后端 的防火墙端口号的问题)
Linux关于防火墙
添加防火墙的
firewall-cmd --zone=public --add-port=7000-9999/tcp --permanent
firewall-cmd --zone=public --add-port=4000-4999/tcp --permanent
firewall-cmd --zone=public --add-port=6000-6999/tcp --permanent
重载防火墙
firewall-cmd --reload
如果防火墙没开启的话,可执行启动命令:
systemctl start firewalld.service
查看开启的端口:firewall-cmd --list-ports
关闭防火墙命令:systemctl stop firewalld.service
关闭开机自启动:systemctl disable firewalld.service
总结(部署出现问题排查解决)
排除问题检查–》指令、部署(防火墙) --》配置文件