lnmp icon indicating copy to clipboard operation
lnmp copied to clipboard

请教一下服务启动依赖顺序问题

Open cgfeel opened this issue 2 years ago • 1 comments

docker-production.online.yml中我启用两个php服务php7php8,并启用一个nginx服务,将nginx服务依赖于php

    depends_on:
      - php7
      - php8

在启动服务的时候$ ./lnmp-docker swarm-deploy,有的时候并非按照顺序执行,就会造成启动服务失败

Creating network lnmp_backend
Creating network lnmp_frontend
...
Creating service lnmp_nginx
Creating service lnmp_redis
Creating service lnmp_php8
Creating service lnmp_php7

打印启动失败容器的日志,提示没有找到php7这项服务

$ docker logs c1b700273884
2022/07/03 16:58:03 [emerg] 1#1: host not found in upstream "php7" in /etc/nginx/conf.d/51baopen.com.conf:17
nginx: [emerg] host not found in upstream "php7" in /etc/nginx/conf.d/51baopen.com.conf:17

于是我把服务关了,重新启动就好了

$ docker stack rm lnmp
$ ./lnmp-docker swarm-deploy
Creating service lnmp_redis
Creating service lnmp_php8
Creating service lnmp_php7
Creating service lnmp_nginx
ID             NAME           IMAGE                          NODE              DESIRED STATE   CURRENT STATE           ERROR     PORTS
pm7da7uhef9o   lnmp_nginx.1   nginx:1.21.3-alpine            VM-20-14-debian   Running         Running 1 second ago              
rkr4skqmsvxd   lnmp_php7.1    khs1994/php:7.4.3-fpm-alpine   VM-20-14-debian   Running         Running 2 seconds ago             
g1h0osyd5pca   lnmp_php8.1    khs1994/php:8.1.1-s6-alpine    VM-20-14-debian   Running         Running 4 seconds ago             
ng6a7j2oj0ev   lnmp_redis.1   redis:7.0.0-alpine             VM-20-14-debian   Running         Running 5 seconds ago 

有的时候需要重启好几次才对,请问这个问题需要怎样解决

cgfeel avatar Jul 03 '22 09:07 cgfeel

You can writing some word in a comment to trigger action:

  • /translate-title

pcit-ce[bot] avatar Jul 03 '22 09:07 pcit-ce[bot]

Recommend use wait4x or wait-for-it.

docker-production.online.yml中我启用两个php服务php7php8,并启用一个nginx服务,将nginx服务依赖于php

    depends_on:
      - php7
      - php8

在启动服务的时候$ ./lnmp-docker swarm-deploy,有的时候并非按照顺序执行,就会造成启动服务失败

Creating network lnmp_backend
Creating network lnmp_frontend
...
Creating service lnmp_nginx
Creating service lnmp_redis
Creating service lnmp_php8
Creating service lnmp_php7

打印启动失败容器的日志,提示没有找到php7这项服务

$ docker logs c1b700273884
2022/07/03 16:58:03 [emerg] 1#1: host not found in upstream "php7" in /etc/nginx/conf.d/51baopen.com.conf:17
nginx: [emerg] host not found in upstream "php7" in /etc/nginx/conf.d/51baopen.com.conf:17

于是我把服务关了,重新启动就好了

$ docker stack rm lnmp
$ ./lnmp-docker swarm-deploy
Creating service lnmp_redis
Creating service lnmp_php8
Creating service lnmp_php7
Creating service lnmp_nginx
ID             NAME           IMAGE                          NODE              DESIRED STATE   CURRENT STATE           ERROR     PORTS
pm7da7uhef9o   lnmp_nginx.1   nginx:1.21.3-alpine            VM-20-14-debian   Running         Running 1 second ago              
rkr4skqmsvxd   lnmp_php7.1    khs1994/php:7.4.3-fpm-alpine   VM-20-14-debian   Running         Running 2 seconds ago             
g1h0osyd5pca   lnmp_php8.1    khs1994/php:8.1.1-s6-alpine    VM-20-14-debian   Running         Running 4 seconds ago             
ng6a7j2oj0ev   lnmp_redis.1   redis:7.0.0-alpine             VM-20-14-debian   Running         Running 5 seconds ago 

有的时候需要重启好几次才对,请问这个问题需要怎样解决

dyrnq avatar Nov 18 '22 07:11 dyrnq

Recommend use wait4x or wait-for-it.

docker-production.online.yml中我启用两个php服务php7php8,并启用一个nginx服务,将nginx服务依赖于php

    depends_on:
      - php7
      - php8

在启动服务的时候$ ./lnmp-docker swarm-deploy,有的时候并非按照顺序执行,就会造成启动服务失败

Creating network lnmp_backend
Creating network lnmp_frontend
...
Creating service lnmp_nginx
Creating service lnmp_redis
Creating service lnmp_php8
Creating service lnmp_php7

打印启动失败容器的日志,提示没有找到php7这项服务

$ docker logs c1b700273884
2022/07/03 16:58:03 [emerg] 1#1: host not found in upstream "php7" in /etc/nginx/conf.d/51baopen.com.conf:17
nginx: [emerg] host not found in upstream "php7" in /etc/nginx/conf.d/51baopen.com.conf:17

于是我把服务关了,重新启动就好了

$ docker stack rm lnmp
$ ./lnmp-docker swarm-deploy
Creating service lnmp_redis
Creating service lnmp_php8
Creating service lnmp_php7
Creating service lnmp_nginx
ID             NAME           IMAGE                          NODE              DESIRED STATE   CURRENT STATE           ERROR     PORTS
pm7da7uhef9o   lnmp_nginx.1   nginx:1.21.3-alpine            VM-20-14-debian   Running         Running 1 second ago              
rkr4skqmsvxd   lnmp_php7.1    khs1994/php:7.4.3-fpm-alpine   VM-20-14-debian   Running         Running 2 seconds ago             
g1h0osyd5pca   lnmp_php8.1    khs1994/php:8.1.1-s6-alpine    VM-20-14-debian   Running         Running 4 seconds ago             
ng6a7j2oj0ev   lnmp_redis.1   redis:7.0.0-alpine             VM-20-14-debian   Running         Running 5 seconds ago 

有的时候需要重启好几次才对,请问这个问题需要怎样解决

感谢

cgfeel avatar Mar 24 '23 10:03 cgfeel