You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

5.0 KiB

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

查看容器

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文件

[root@localhost ~]# cat /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6

# 以下是微服务的服务器配置
172.17.0.1  ms-saas-mgr
172.17.0.1 ms-user
172.17.0.1 ms-finance
172.17.0.1 ms-wallet
172.17.0.1 ms-order
172.17.0.1 ms-admin
172.17.0.1 ms-excel
172.17.0.1 ms-station
172.17.0.1 ms-protocol-shenghong
172.17.0.1 ms-distribute
172.17.0.1 ms-monitor
172.17.0.1 ms-openapi
172.17.0.1 ms-task
172.17.0.1 ms-websocket-ocpp
172.17.0.1 ms-protocol
[root@localhost ~]# 

运行容器【使用宿主机的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
docker run -d  --name ms-saas-mgr -p 7026:7026 -v /etc/hosts:/etc/hosts ms-saas-mgr

docker run -d  --name ms-manager-sass-ui -p 80:80  -v /etc/hosts:/etc/hosts ms-manager-sass-ui

安装 Ping

apt-get update
apt-get install iputils-ping -y

查看宿主机IP

[root@localhost ~]# ifconfig
docker0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 172.17.0.1  netmask 255.255.0.0  broadcast 172.17.255.255
        inet6 fe80::42:7ff:fe80:54b1  prefixlen 64  scopeid 0x20<link>
        ether 02:42:07:80:54:b1  txqueuelen 0  (Ethernet)
        RX packets 4206426  bytes 2354824710 (2.1 GiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 3442306  bytes 746571948 (711.9 MiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

ens192: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 10.10.14.77  netmask 255.255.255.0  broadcast 10.10.14.255
        inet6 fe80::20c:29ff:fe54:1f62  prefixlen 64  scopeid 0x20<link>
        ether 00:0c:29:54:1f:62  txqueuelen 1000  (Ethernet)
        RX packets 6180298  bytes 2946646464 (2.7 GiB)
        RX errors 0  dropped 84  overruns 0  frame 0
        TX packets 4710131  bytes 2571579064 (2.3 GiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

# 查看端口
curl 172.17.0.1:7026

查看DockerIP

docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' 4d2b1da162ca

# 返回值
172.17.0.3