1.查看docker实例中 6789端口是否存在,如果不存在,说明后端编译报错或者其他错误
root@iZ7xvdyqqdbfwvpbikooq8Z:~/workspace/cloud_api_sample# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
47c55c0d8e1f dji/cloud_api_sample:latest "sh -c 'java -jar /a…" 8 minutes ago Restarting (1) 31 seconds ago cloud_api_sample-cloud_api_sample-1
3ca779e9ec58 redis:6.2 "docker-entrypoint.s…" 8 minutes ago Up 8 minutes 0.0.0.0:6379->6379/tcp, :::6379->6379/tcp cloud_api_sample-redis-1
c0bf1e43359e emqx:4.4 "/usr/bin/docker-ent…" 8 minutes ago Up 8 minutes 4369-4370/tcp, 5369/tcp, 6369-6370/tcp, 0.0.0.0:1883->1883/tcp, :::1883->1883/tcp, 0.0.0.0:8083-8084->8083-8084/tcp, :::8083-8084->8083-8084/tcp, 8081/tcp, 0.0.0.0:8883->8883/tcp, :::8883->8883/tcp, 0.0.0.0:18083->18083/tcp, :::18083->18083/tcp, 11883/tcp cloud_api_sample-emqx-1
386f62f431c4 dji/nginx:latest "/docker-entrypoint.…" 8 minutes ago Up 8 minutes 80/tcp, 0.0.0.0:8080->8080/tcp, :::8080->8080/tcp cloud_api_sample-nginx-1
71bed1699536 dji/mysql:latest "docker-entrypoint.s…" 8 minutes ago Up 8 minutes 0.0.0.0:3306->3306/tcp, :::3306->3306/tcp, 33060/tcp cloud_api_sample-mysql-1
2.测试6789端口。
telnet yourIP 6789
root@iZ7xvdyqqdbfwvpbikooq8Z:~/workspace/cloud_api_sample# telnet 8.134.218.37 6789
Trying 8.134.218.37...
telnet: Unable to connect to remote host: Connection refused
3.重启服务器和docker,发现几十秒之后,发现后端同样死掉
sudo docker-compose down
systemctl restart docker
reboot
# 构建前端镜像
./update_front.sh
# 构建后端镜像
./update_backend.sh
# 启动docker
sudo docker compose up -d
后端仍然1分钟就崩溃了。删除源码,重新解压
root@iZ7xvdyqqdbfwvpbikooq8Z:~/workspace/cloud_api_sample# ls
cloud_api_sample_docker_v1.10.0.tar data docker-compose.yml source update_backend.sh update_front.sh
root@iZ7xvdyqqdbfwvpbikooq8Z:~/workspace/cloud_api_sample# sudo docker load < cloud_api_sample_docker_v1.10.0.tar
Loaded image: openjdk:11.0.14.1-jdk-buster
Loaded image: dji/mysql:latest
Loaded image: emqx:4.4
Loaded image: redis:6.2
Loaded image: node:17.8-buster
Loaded image: nginx:stable
小心谨慎,不用tab键,只用空格。调整好参数后,就正常启动了
如果正常运行2天点击登陆没有反应。重启也报错:那么
sudo systemctl stop docker
systemctl restart docker
service docker start
reboot重启了
root@iZ7xvdyqqdbfwvpbikooq8Z:~/workspace/cloud_api_sample# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
2aa41d163544 dji/cloud_api_sample:latest "sh -c 'java -jar /a…" 6 minutes ago Up 9 seconds 0.0.0.0:6789->6789/tcp, :::6789->6789/tcp cloud_api_sample_cloud_api_sample_1
7a653ececa2d redis:6.2 "docker-entrypoint.s…" 6 minutes ago Up 25 seconds 0.0.0.0:6379->6379/tcp, :::6379->6379/tcp cloud_api_sample_redis_1
root@iZ7xvdyqqdbfwvpbikooq8Z:~/workspace/cloud_api_sample# sudo docker compose down
WARN[0000] /root/workspace/cloud_api_sample/docker-compose.yml: the attribute `version` is obsolete, it will be ignored, please remove it to avoid potential confusion
重启也没有用,检查端口
zk@zk-jf:/mnt/Dji_docker/cloud_api_sample_docker/cloud_api_sample$ sudo netstat -ap | grep 6789
zk@zk-jf:/mnt/Dji_docker/cloud_api_sample_docker/cloud_api_sample$ sudo netstat -ap | grep 18083
unix 2 [ ACC ] 流 LISTENING 18083 1972/systemd /run/user/1000/gcr/ssh
zk@zk-jf:/mnt/Dji_docker/cloud_api_sample_docker/cloud_api_sample$ sudo netstat -ap | grep 1883
unix 3 [ ] 流 已连接 11883 2027/pipewire-pulse
解决办法是:!!!!
删除 cloud_api_sample/data/mysql 目录下的所有文件,重启docker
sudo rm -rf mysql/

sudo docker compose up -d
就能正常使用了
所以要真正关闭 docker 服务,要执行如下 2 个命令
# 关闭 docker.socket 服务
systemctl stop docker.socket
# 关闭 docker.service 服务
systemctl stop docker.service
然后重新启动docker服务
sudo systemctl start docker
systemctl start docker.service