2.5 KiB
查看容器
docker ps -a
删除容器
docker rm -f 332eba979772
查看镜像
docker images
删除镜像
docker rmi -f ms-admin
删除标识为的镜像
docker rmi 474ac8287260 a54e8f70bb55 92fe91e81b86
删除已停止的容器
docker container prune
删除所有容器
docker rm -f $(docker ps -a -q)
进入容器
docker exec -it 58bb2dce0a92 /bin/bash
排查步骤: 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 gw-saas-mgr -p 7003:7003 -v /etc/hosts:/etc/hosts gw-saas-mgr docker run -d --name ms-admin -p 7011:7011 -v /etc/hosts:/etc/hosts ms-admin docker run -d --name ms-distribute -p 7012:7012 -v /etc/hosts:/etc/hosts ms-distribute docker run -d --name ms-finance -p 7014:7014 -v /etc/hosts:/etc/hosts ms-finance docker run -d --name ms-station -p 7020:7020 -v /etc/hosts:/etc/hosts ms-station docker run -d --name ms-task -p 7021:7021 -v /etc/hosts:/etc/hosts ms-task docker run -d --name ms-user -p 7022:7022 -v /etc/hosts:/etc/hosts ms-user docker run -d --name ms-websocket-ocpp -p 7025:7025 -v /etc/hosts:/etc/hosts ms-websocket-ocpp docker run -d --name gw-charge -p 7001:7001 -v /etc/hosts:/etc/hosts gw-charge docker run -d --name ms-openapi -p 7016:7016 -v /etc/hosts:/etc/hosts ms-openapi docker run -d --name ms-order -p 7017:7017 -v /etc/hosts:/etc/hosts ms-order docker run -d --name ms-protocol -p 7024:7024 -v /etc/hosts:/etc/hosts ms-protocol