main
黄海 12 months ago
parent 48ffb39a70
commit 880532161d

@ -19,24 +19,61 @@ docker container prune
# 删除所有容器
docker rm -f $(docker ps -a -q)
# 打包
docker build -t ms-admin .
# 运行容器【使用宿主机的hosts文件】
docker run -d --name ms-admin -p 7011:7011 -v /etc/hosts:/etc/hosts ms-admin
# 进入容器
docker exec -it 58bb2dce0a92 /bin/bash
# 安装JDK1.8
yum -y install java-1.8.0-openjdk.x86_64
排查步骤:
1、在IDEA中运行正常
2、打包成jar,在windows中启动正常
# WINDOWS环境下运行jar包
"C:\Program Files\Java\jdk1.8.0_271\bin\java" -jar ms-admin.jar
3、将jar拷贝到Linux中启动正常
# 安装JDK1.8
yum -y install java-1.8.0-openjdk.x86_64
# Linux环境下运行jar包
java -jar ms-admin.jar
4、至此说明jar本身没有问题否则Linux环境一样会报错那么只有一种可能Dockerfile有问题
经仔细检查,发现 -Dspring.profiles.active=test 配置错误指定了test文件,应该是Dev配置文件才对
#sed 替换
sed -i 's/-Dspring.profiles.active=test/-Dspring.profiles.active=dev/g' Dockerfile
然后重新打包镜像:
# 打包
docker build -t ms-admin .
5、但事情还没有完因为SpringBoot的配置中有我使用hosts配置的DNS解析比如:ms-excel 10.10.21.20
在Linux宿主机中我们可以采用 /etc/hosts 的编辑方式创建 ms-excel 10.10.14.77
但这个配置信息不是直接在Docker容器中传递过去需要加上启动时的参数
# 运行容器【使用宿主机的hosts文件】
docker run -d --name ms-admin -p 7011:7011 -v /etc/hosts:/etc/hosts ms-admin
docker run -d --name ms-admin -p 7011:7011 -v /etc/hosts:/etc/hosts ms-admin
docker run -d --name ms-admin -p 7011:7011 -v /etc/hosts:/etc/hosts ms-admin
docker run -d --name ms-admin -p 7011:7011 -v /etc/hosts:/etc/hosts ms-admin
docker run -d --name ms-admin -p 7011:7011 -v /etc/hosts:/etc/hosts ms-admin
docker run -d --name ms-admin -p 7011:7011 -v /etc/hosts:/etc/hosts ms-admin
docker run -d --name ms-admin -p 7011:7011 -v /etc/hosts:/etc/hosts ms-admin
docker run -d --name ms-admin -p 7011:7011 -v /etc/hosts:/etc/hosts ms-admin
docker run -d --name ms-admin -p 7011:7011 -v /etc/hosts:/etc/hosts ms-admin
docker run -d --name ms-admin -p 7011:7011 -v /etc/hosts:/etc/hosts ms-admin
docker run -d --name ms-admin -p 7011:7011 -v /etc/hosts:/etc/hosts ms-admin
docker run -d --name ms-admin -p 7011:7011 -v /etc/hosts:/etc/hosts ms-admin
docker run -d --name ms-admin -p 7011:7011 -v /etc/hosts:/etc/hosts ms-admin
docker run -d --name ms-admin -p 7011:7011 -v /etc/hosts:/etc/hosts ms-admin
docker run -d --name ms-admin -p 7011:7011 -v /etc/hosts:/etc/hosts ms-admin
docker run -d --name ms-admin -p 7011:7011 -v /etc/hosts:/etc/hosts ms-admin
docker run -d --name ms-admin -p 7011:7011 -v /etc/hosts:/etc/hosts ms-admin
docker run -d --name ms-admin -p 7011:7011 -v /etc/hosts:/etc/hosts ms-admin

Loading…
Cancel
Save