0

I have following docker compose file:

version: "3.8"

services:
    postgres:
        image: postgres:11
        volumes:
            - myapp_postgres_volume:/var/lib/postgresql/data
            - type: tmpfs
              target: /dev/shm
              tmpfs:
                size: 536870912 # 512MB
        environment:
            POSTGRES_DB: elearning_academy
            POSTGRES_USER: myapp
            POSTGRES_PASSWORD: myapp123
        networks:
            - myapp_network

    redis:
        image: redis:6.2.4
        volumes:
            - myapp_redis_volume:/data
        networks:
            - myapp_network

    wsgi:
        image: wsgi:myapp3_stack2
        volumes:
            - /myapp/frontend/static/
            - ./wsgi/myapp:/myapp
            - /myapp/frontend/clientApp/node_modules
            - /etc/timezone:/etc/timezone:ro
            - /etc/localtime:/etc/localtime:ro
        depends_on:
            - postgres
            - redis
        ports:
            - 9090
            #- 8000:8000
        environment:
            C_FORCE_ROOT: 'true'
            SERVICE_PORTS: 9090
        networks:
            - myapp_network
        deploy:
            replicas: 1
            update_config:
                parallelism: 1
                delay: 10s
            restart_policy:
                condition: on-failure
                max_attempts: 3
                window: 120s

    nodejs:
        image: nodejs:myapp3_stack2
        volumes:
            - ./nodejs/frontend:/frontend
            - /frontend/node_modules
        depends_on:
            - wsgi
        ports:
            - 9000:9000 # development
            - 9999:9999 # production
        environment:
            BACKEND_API_URL: http://0.0.0.0:9763/api/
        networks:
            - myapp_network

    nginx:
        image: nginx-brotli:1.21.0
        volumes:
            - ./nginx:/etc/nginx/conf.d:ro
            - ./wsgi/myapp:/myapp:ro
            - myapp_nginx_volume:/var/log/nginx/
            - /etc/timezone:/etc/timezone:ro
            - /etc/localtime:/etc/localtime:ro
        networks:
            - myapp_network
            
    haproxy:
        image: haproxy:2.3.9
        volumes:
            - ./haproxy:/usr/local/etc/haproxy/:ro
            - /var/run/docker.sock:/var/run/docker.sock
            - /etc/timezone:/etc/timezone:ro
            - /etc/localtime:/etc/localtime:ro
        depends_on:
            - wsgi
            - nodejs
            - nginx
        ports:
            - 9763:80
        networks:
            - myapp_network
        deploy:
            placement:
                constraints: [node.role == manager]

volumes:
    myapp_postgres_volume:
    myapp_redis_volume:
    myapp_nginx_volume:

networks:
    myapp_network:
        driver: overlay

I have following configs in haproxy.cfg:

backend http
    balance roundrobin
    server nodejs nodejs:9999 check

backend api
    balance roundrobin
    server wsgi wsgi:9090 check

When I run docker compose deploy -c docker-compose.yml myapp_stack_2, it only starts containers for nginx, postgres and redis. Following is the output of watch n -2 docker container ls:

CONTAINER ID   IMAGE                          COMMAND                  CREATED          STATUS                  PORTS      NAMES
746df4cfeb87   haproxy:2.3.9                  "docker-entrypoint.s…"   5 seconds ago    Up Less than a second              myapp_stack_2_haproxy.1.foz4xytdcecwbht84dc0q1emh
72cc2059806c   redis:6.2.4                    "docker-entrypoint.s…"   13 seconds ago   Up 12 seconds           6379/tcp   myapp_stack_2_redis.1.39plxmr0kw6h68fjjlcg1alrg
e11d221ffbae   postgres:11                    "docker-entrypoint.s…"   17 seconds ago   Up 16 seconds           5432/tcp   myapp_stack_2_postgres.1.legyfu6kgd2dfnumgfbrze73k
afd0740094b4   nginx-brotli:1.21.0   "/docker-entrypoint.…"   23 seconds ago   Up 23 seconds           80/tcp     myapp_stack_2_nginx.1.me1bdetze9ed50ojl9x2u9t93

The haproxy containers keeps appearing and disappearing from the list, never remaining stable forever. I checked the logs for haproxy container and this is what it has:

[NOTICE] 141/064759 (1) : haproxy version is 2.3.9-53945bf
[NOTICE] 141/064759 (1) : path to executable is /usr/local/sbin/haproxy
[ALERT] 141/064759 (1) : parsing [/usr/local/etc/haproxy/haproxy.cfg:43] : 'server nodejs' : could not resolve address 'nodejs'.
[ALERT] 141/064759 (1) : parsing [/usr/local/etc/haproxy/haproxy.cfg:47] : 'server wsgi' : could not resolve address 'wsgi'.
[ALERT] 141/064759 (1) : parsing [/usr/local/etc/haproxy/haproxy.cfg:52] : 'server wsgi' : could not resolve address 'wsgi'.
[ALERT] 141/064759 (1) : Failed to initialize server(s) addr.
 *  Terminal will be reused by tasks, press any key to close it. 

So from haproxy logs, it seems that haproxy fails to start because wsgi container is not starting up. Also nodejs container is not starting up because it depends on wsgi container. Now I am guessing why wsgi container is not starting up? haproxy container appears at least momentarily in the docker container ls command output. But wsgi container never appears even in docker container ls -a command output. It neither appears in the docker events output. Below is my docker events command output:

network create 9yo7n7g7uybtbasehwly0a21p (name=myapp_stack_2_myapp_network, type=overlay)
volume create myapp_stack_2_myapp_nginx_volume (driver=local)
container create acf160662847238e45c91e4412b4669fe964618514f295279268686995ae564e (com.docker.stack.namespace=myapp_stack_2, com.docker.swarm.node.id=txx4ub7iz1naiytqjnaefyaus, com.docker.swarm.service.id=dl5hg45n5t8z95sufecfyv3mm, com.docker.swarm.service.name=myapp_stack_2_nginx, com.docker.swarm.task=, com.docker.swarm.task.id=20mvcffi41gefsmo2gyz5rmmh, com.docker.swarm.task.name=myapp_stack_2_nginx.1.20mvcffi41gefsmo2gyz5rmmh, image=ishtiyaq/nginx-brotli:1.21.0@sha256:436cbc0d8cd051e7bdb197d7915fe90fa5a1bdadea6d02272ba117fccf30c936, maintainer=NGINX Docker Maintainers <docker-maint@nginx.com>, name=myapp_stack_2_nginx.1.20mvcffi41gefsmo2gyz5rmmh)
network connect 9yo7n7g7uybtbasehwly0a21p (container=acf160662847238e45c91e4412b4669fe964618514f295279268686995ae564e, name=myapp_stack_2_myapp_network, type=overlay)
volume mount myapp_stack_2_myapp_nginx_volume (container=acf160662847238e45c91e4412b4669fe964618514f295279268686995ae564e, destination=/var/log/nginx, driver=local, propagation=, read/write=true)
container start acf160662847238e45c91e4412b4669fe964618514f295279268686995ae564e (com.docker.stack.namespace=myapp_stack_2, com.docker.swarm.node.id=txx4ub7iz1naiytqjnaefyaus, com.docker.swarm.service.id=dl5hg45n5t8z95sufecfyv3mm, com.docker.swarm.service.name=myapp_stack_2_nginx, com.docker.swarm.task=, com.docker.swarm.task.id=20mvcffi41gefsmo2gyz5rmmh, com.docker.swarm.task.name=myapp_stack_2_nginx.1.20mvcffi41gefsmo2gyz5rmmh, image=ishtiyaq/nginx-brotli:1.21.0@sha256:436cbc0d8cd051e7bdb197d7915fe90fa5a1bdadea6d02272ba117fccf30c936, maintainer=NGINX Docker Maintainers <docker-maint@nginx.com>, name=myapp_stack_2_nginx.1.20mvcffi41gefsmo2gyz5rmmh)
container create 9ba52fa387f4b33690989a588207075bf5988b8f376aeea913e6d9f95293b88c (com.docker.stack.namespace=myapp_stack_2, com.docker.swarm.node.id=txx4ub7iz1naiytqjnaefyaus, com.docker.swarm.service.id=oijtd9i6abt9bftjgit1ftoy7, com.docker.swarm.service.name=myapp_stack_2_haproxy, com.docker.swarm.task=, com.docker.swarm.task.id=nj02e0g8gvbntnnxdjt3o7h07, com.docker.swarm.task.name=myapp_stack_2_haproxy.1.nj02e0g8gvbntnnxdjt3o7h07, image=haproxy:2.3.9@sha256:f63aabf39efcd277b04a503d38e59e80224a0c11f47b2568b13b0092698c5a3a, name=myapp_stack_2_haproxy.1.nj02e0g8gvbntnnxdjt3o7h07)
network connect rywtwie2qb45ar6vjsjm7uqn9 (container=9ba52fa387f4b33690989a588207075bf5988b8f376aeea913e6d9f95293b88c, name=ingress, type=overlay)
network connect 9yo7n7g7uybtbasehwly0a21p (container=9ba52fa387f4b33690989a588207075bf5988b8f376aeea913e6d9f95293b88c, name=myapp_stack_2_myapp_network, type=overlay)
container start 9ba52fa387f4b33690989a588207075bf5988b8f376aeea913e6d9f95293b88c (com.docker.stack.namespace=myapp_stack_2, com.docker.swarm.node.id=txx4ub7iz1naiytqjnaefyaus, com.docker.swarm.service.id=oijtd9i6abt9bftjgit1ftoy7, com.docker.swarm.service.name=myapp_stack_2_haproxy, com.docker.swarm.task=, com.docker.swarm.task.id=nj02e0g8gvbntnnxdjt3o7h07, com.docker.swarm.task.name=myapp_stack_2_haproxy.1.nj02e0g8gvbntnnxdjt3o7h07, image=haproxy:2.3.9@sha256:f63aabf39efcd277b04a503d38e59e80224a0c11f47b2568b13b0092698c5a3a, name=myapp_stack_2_haproxy.1.nj02e0g8gvbntnnxdjt3o7h07)
container die 9ba52fa387f4b33690989a588207075bf5988b8f376aeea913e6d9f95293b88c (com.docker.stack.namespace=myapp_stack_2, com.docker.swarm.node.id=txx4ub7iz1naiytqjnaefyaus, com.docker.swarm.service.id=oijtd9i6abt9bftjgit1ftoy7, com.docker.swarm.service.name=myapp_stack_2_haproxy, com.docker.swarm.task=, com.docker.swarm.task.id=nj02e0g8gvbntnnxdjt3o7h07, com.docker.swarm.task.name=myapp_stack_2_haproxy.1.nj02e0g8gvbntnnxdjt3o7h07, exitCode=1, image=haproxy:2.3.9@sha256:f63aabf39efcd277b04a503d38e59e80224a0c11f47b2568b13b0092698c5a3a, name=myapp_stack_2_haproxy.1.nj02e0g8gvbntnnxdjt3o7h07)
network disconnect rywtwie2qb45ar6vjsjm7uqn9 (container=9ba52fa387f4b33690989a588207075bf5988b8f376aeea913e6d9f95293b88c, name=ingress, type=overlay)
network disconnect 9yo7n7g7uybtbasehwly0a21p (container=9ba52fa387f4b33690989a588207075bf5988b8f376aeea913e6d9f95293b88c, name=myapp_stack_2_myapp_network, type=overlay)
container create 32350a97913ad26fabc0f595d078e83c4d6e1a4379cad4aa82160e7707c5cd31 (com.docker.stack.namespace=myapp_stack_2, com.docker.swarm.node.id=txx4ub7iz1naiytqjnaefyaus, com.docker.swarm.service.id=oijtd9i6abt9bftjgit1ftoy7, com.docker.swarm.service.name=myapp_stack_2_haproxy, com.docker.swarm.task=, com.docker.swarm.task.id=idbnqytqsl9pxgvha8jn3um7l, com.docker.swarm.task.name=myapp_stack_2_haproxy.1.idbnqytqsl9pxgvha8jn3um7l, image=haproxy:2.3.9@sha256:f63aabf39efcd277b04a503d38e59e80224a0c11f47b2568b13b0092698c5a3a, name=myapp_stack_2_haproxy.1.idbnqytqsl9pxgvha8jn3um7l)
volume create myapp_stack_2_myapp_postgres_volume (driver=local)
container create cb285ae8b5c9dd38b04ea4630342467dc3686776951ec2715812ad02bb7d0e71 (com.docker.stack.namespace=myapp_stack_2, com.docker.swarm.node.id=txx4ub7iz1naiytqjnaefyaus, com.docker.swarm.service.id=3u8k5u7rw58v0tj2kgfr2v8i2, com.docker.swarm.service.name=myapp_stack_2_postgres, com.docker.swarm.task=, com.docker.swarm.task.id=m087yyeluafrmcdzmgnoyv3e6, com.docker.swarm.task.name=myapp_stack_2_postgres.1.m087yyeluafrmcdzmgnoyv3e6, image=postgres:11@sha256:5d2aa4a7b5f9bdadeddcf87cf7f90a176737a02a30d917de4ab2e6a329bd2d45, name=myapp_stack_2_postgres.1.m087yyeluafrmcdzmgnoyv3e6)
network connect 9yo7n7g7uybtbasehwly0a21p (container=cb285ae8b5c9dd38b04ea4630342467dc3686776951ec2715812ad02bb7d0e71, name=myapp_stack_2_myapp_network, type=overlay)
volume mount myapp_stack_2_myapp_postgres_volume (container=cb285ae8b5c9dd38b04ea4630342467dc3686776951ec2715812ad02bb7d0e71, destination=/var/lib/postgresql/data, driver=local, propagation=, read/write=true)
container start cb285ae8b5c9dd38b04ea4630342467dc3686776951ec2715812ad02bb7d0e71 (com.docker.stack.namespace=myapp_stack_2, com.docker.swarm.node.id=txx4ub7iz1naiytqjnaefyaus, com.docker.swarm.service.id=3u8k5u7rw58v0tj2kgfr2v8i2, com.docker.swarm.service.name=myapp_stack_2_postgres, com.docker.swarm.task=, com.docker.swarm.task.id=m087yyeluafrmcdzmgnoyv3e6, com.docker.swarm.task.name=myapp_stack_2_postgres.1.m087yyeluafrmcdzmgnoyv3e6, image=postgres:11@sha256:5d2aa4a7b5f9bdadeddcf87cf7f90a176737a02a30d917de4ab2e6a329bd2d45, name=myapp_stack_2_postgres.1.m087yyeluafrmcdzmgnoyv3e6)
network connect rywtwie2qb45ar6vjsjm7uqn9 (container=32350a97913ad26fabc0f595d078e83c4d6e1a4379cad4aa82160e7707c5cd31, name=ingress, type=overlay)
network connect 9yo7n7g7uybtbasehwly0a21p (container=32350a97913ad26fabc0f595d078e83c4d6e1a4379cad4aa82160e7707c5cd31, name=myapp_stack_2_myapp_network, type=overlay)
volume create myapp_stack_2_myapp_redis_volume (driver=local)
container create 6b485084b77506ab38585f68a4c9f4090002ec338cb46176d86b154b9bff2a34 (com.docker.stack.namespace=myapp_stack_2, com.docker.swarm.node.id=txx4ub7iz1naiytqjnaefyaus, com.docker.swarm.service.id=vqftmbm6sam07emcl590f2dv5, com.docker.swarm.service.name=myapp_stack_2_redis, com.docker.swarm.task=, com.docker.swarm.task.id=n34chfhozhk082tip6oplxq6d, com.docker.swarm.task.name=myapp_stack_2_redis.1.n34chfhozhk082tip6oplxq6d, image=redis:6.2.4@sha256:6bc98f513258e0c17bd150a7a26f38a8ce3e7d584f0c451cf31df70d461a200a, name=myapp_stack_2_redis.1.n34chfhozhk082tip6oplxq6d)
network connect 9yo7n7g7uybtbasehwly0a21p (container=6b485084b77506ab38585f68a4c9f4090002ec338cb46176d86b154b9bff2a34, name=myapp_stack_2_myapp_network, type=overlay)
volume mount myapp_stack_2_myapp_redis_volume (container=6b485084b77506ab38585f68a4c9f4090002ec338cb46176d86b154b9bff2a34, destination=/data, driver=local, propagation=, read/write=true)
container start 32350a97913ad26fabc0f595d078e83c4d6e1a4379cad4aa82160e7707c5cd31 (com.docker.stack.namespace=myapp_stack_2, com.docker.swarm.node.id=txx4ub7iz1naiytqjnaefyaus, com.docker.swarm.service.id=oijtd9i6abt9bftjgit1ftoy7, com.docker.swarm.service.name=myapp_stack_2_haproxy, com.docker.swarm.task=, com.docker.swarm.task.id=idbnqytqsl9pxgvha8jn3um7l, com.docker.swarm.task.name=myapp_stack_2_haproxy.1.idbnqytqsl9pxgvha8jn3um7l, image=haproxy:2.3.9@sha256:f63aabf39efcd277b04a503d38e59e80224a0c11f47b2568b13b0092698c5a3a, name=myapp_stack_2_haproxy.1.idbnqytqsl9pxgvha8jn3um7l)
container die 32350a97913ad26fabc0f595d078e83c4d6e1a4379cad4aa82160e7707c5cd31 (com.docker.stack.namespace=myapp_stack_2, com.docker.swarm.node.id=txx4ub7iz1naiytqjnaefyaus, com.docker.swarm.service.id=oijtd9i6abt9bftjgit1ftoy7, com.docker.swarm.service.name=myapp_stack_2_haproxy, com.docker.swarm.task=, com.docker.swarm.task.id=idbnqytqsl9pxgvha8jn3um7l, com.docker.swarm.task.name=myapp_stack_2_haproxy.1.idbnqytqsl9pxgvha8jn3um7l, exitCode=1, image=haproxy:2.3.9@sha256:f63aabf39efcd277b04a503d38e59e80224a0c11f47b2568b13b0092698c5a3a, name=myapp_stack_2_haproxy.1.idbnqytqsl9pxgvha8jn3um7l)
container start 6b485084b77506ab38585f68a4c9f4090002ec338cb46176d86b154b9bff2a34 (com.docker.stack.namespace=myapp_stack_2, com.docker.swarm.node.id=txx4ub7iz1naiytqjnaefyaus, com.docker.swarm.service.id=vqftmbm6sam07emcl590f2dv5, com.docker.swarm.service.name=myapp_stack_2_redis, com.docker.swarm.task=, com.docker.swarm.task.id=n34chfhozhk082tip6oplxq6d, com.docker.swarm.task.name=myapp_stack_2_redis.1.n34chfhozhk082tip6oplxq6d, image=redis:6.2.4@sha256:6bc98f513258e0c17bd150a7a26f38a8ce3e7d584f0c451cf31df70d461a200a, name=myapp_stack_2_redis.1.n34chfhozhk082tip6oplxq6d)
network disconnect rywtwie2qb45ar6vjsjm7uqn9 (container=32350a97913ad26fabc0f595d078e83c4d6e1a4379cad4aa82160e7707c5cd31, name=ingress, type=overlay)
network disconnect 9yo7n7g7uybtbasehwly0a21p (container=32350a97913ad26fabc0f595d078e83c4d6e1a4379cad4aa82160e7707c5cd31, name=myapp_stack_2_myapp_network, type=overlay)
container create 096c54edca76c5a28df70facca078858e9cdee6ada55f4c372c6a2540ee3bb46 (com.docker.stack.namespace=myapp_stack_2, com.docker.swarm.node.id=txx4ub7iz1naiytqjnaefyaus, com.docker.swarm.service.id=oijtd9i6abt9bftjgit1ftoy7, com.docker.swarm.service.name=myapp_stack_2_haproxy, com.docker.swarm.task=, com.docker.swarm.task.id=hx8lv7lvk6hqn4d11hft0wcl3, com.docker.swarm.task.name=myapp_stack_2_haproxy.1.hx8lv7lvk6hqn4d11hft0wcl3, image=haproxy:2.3.9@sha256:f63aabf39efcd277b04a503d38e59e80224a0c11f47b2568b13b0092698c5a3a, name=myapp_stack_2_haproxy.1.hx8lv7lvk6hqn4d11hft0wcl3)
network connect rywtwie2qb45ar6vjsjm7uqn9 (container=096c54edca76c5a28df70facca078858e9cdee6ada55f4c372c6a2540ee3bb46, name=ingress, type=overlay)
network connect 9yo7n7g7uybtbasehwly0a21p (container=096c54edca76c5a28df70facca078858e9cdee6ada55f4c372c6a2540ee3bb46, name=myapp_stack_2_myapp_network, type=overlay)
container start 096c54edca76c5a28df70facca078858e9cdee6ada55f4c372c6a2540ee3bb46 (com.docker.stack.namespace=myapp_stack_2, com.docker.swarm.node.id=txx4ub7iz1naiytqjnaefyaus, com.docker.swarm.service.id=oijtd9i6abt9bftjgit1ftoy7, com.docker.swarm.service.name=myapp_stack_2_haproxy, com.docker.swarm.task=, com.docker.swarm.task.id=hx8lv7lvk6hqn4d11hft0wcl3, com.docker.swarm.task.name=myapp_stack_2_haproxy.1.hx8lv7lvk6hqn4d11hft0wcl3, image=haproxy:2.3.9@sha256:f63aabf39efcd277b04a503d38e59e80224a0c11f47b2568b13b0092698c5a3a, name=myapp_stack_2_haproxy.1.hx8lv7lvk6hqn4d11hft0wcl3)
container die 096c54edca76c5a28df70facca078858e9cdee6ada55f4c372c6a2540ee3bb46 (com.docker.stack.namespace=myapp_stack_2, com.docker.swarm.node.id=txx4ub7iz1naiytqjnaefyaus, com.docker.swarm.service.id=oijtd9i6abt9bftjgit1ftoy7, com.docker.swarm.service.name=myapp_stack_2_haproxy, com.docker.swarm.task=, com.docker.swarm.task.id=hx8lv7lvk6hqn4d11hft0wcl3, com.docker.swarm.task.name=myapp_stack_2_haproxy.1.hx8lv7lvk6hqn4d11hft0wcl3, exitCode=1, image=haproxy:2.3.9@sha256:f63aabf39efcd277b04a503d38e59e80224a0c11f47b2568b13b0092698c5a3a, name=myapp_stack_2_haproxy.1.hx8lv7lvk6hqn4d11hft0wcl3)
network disconnect rywtwie2qb45ar6vjsjm7uqn9 (container=096c54edca76c5a28df70facca078858e9cdee6ada55f4c372c6a2540ee3bb46, name=ingress, type=overlay)
network disconnect 9yo7n7g7uybtbasehwly0a21p (container=096c54edca76c5a28df70facca078858e9cdee6ada55f4c372c6a2540ee3bb46, name=myapp_stack_2_myapp_network, type=overlay)
container create 603f73ec69bd94be9b62248e91523d5b8ed1425975a157e09b80818367c09f03 (com.docker.stack.namespace=myapp_stack_2, com.docker.swarm.node.id=txx4ub7iz1naiytqjnaefyaus, com.docker.swarm.service.id=oijtd9i6abt9bftjgit1ftoy7, com.docker.swarm.service.name=myapp_stack_2_haproxy, com.docker.swarm.task=, com.docker.swarm.task.id=qo8nr8d68nx8f1pi2chv8lm3z, com.docker.swarm.task.name=myapp_stack_2_haproxy.1.qo8nr8d68nx8f1pi2chv8lm3z, image=haproxy:2.3.9@sha256:f63aabf39efcd277b04a503d38e59e80224a0c11f47b2568b13b0092698c5a3a, name=myapp_stack_2_haproxy.1.qo8nr8d68nx8f1pi2chv8lm3z)
network connect rywtwie2qb45ar6vjsjm7uqn9 (container=603f73ec69bd94be9b62248e91523d5b8ed1425975a157e09b80818367c09f03, name=ingress, type=overlay)
network connect 9yo7n7g7uybtbasehwly0a21p (container=603f73ec69bd94be9b62248e91523d5b8ed1425975a157e09b80818367c09f03, name=myapp_stack_2_myapp_network, type=overlay)
container start 603f73ec69bd94be9b62248e91523d5b8ed1425975a157e09b80818367c09f03 (com.docker.stack.namespace=myapp_stack_2, com.docker.swarm.node.id=txx4ub7iz1naiytqjnaefyaus, com.docker.swarm.service.id=oijtd9i6abt9bftjgit1ftoy7, com.docker.swarm.service.name=myapp_stack_2_haproxy, com.docker.swarm.task=, com.docker.swarm.task.id=qo8nr8d68nx8f1pi2chv8lm3z, com.docker.swarm.task.name=myapp_stack_2_haproxy.1.qo8nr8d68nx8f1pi2chv8lm3z, image=haproxy:2.3.9@sha256:f63aabf39efcd277b04a503d38e59e80224a0c11f47b2568b13b0092698c5a3a, name=myapp_stack_2_haproxy.1.qo8nr8d68nx8f1pi2chv8lm3z)
container die 603f73ec69bd94be9b62248e91523d5b8ed1425975a157e09b80818367c09f03 (com.docker.stack.namespace=myapp_stack_2, com.docker.swarm.node.id=txx4ub7iz1naiytqjnaefyaus, com.docker.swarm.service.id=oijtd9i6abt9bftjgit1ftoy7, com.docker.swarm.service.name=myapp_stack_2_haproxy, com.docker.swarm.task=, com.docker.swarm.task.id=qo8nr8d68nx8f1pi2chv8lm3z, com.docker.swarm.task.name=myapp_stack_2_haproxy.1.qo8nr8d68nx8f1pi2chv8lm3z, exitCode=1, image=haproxy:2.3.9@sha256:f63aabf39efcd277b04a503d38e59e80224a0c11f47b2568b13b0092698c5a3a, name=myapp_stack_2_haproxy.1.qo8nr8d68nx8f1pi2chv8lm3z)
network disconnect rywtwie2qb45ar6vjsjm7uqn9 (container=603f73ec69bd94be9b62248e91523d5b8ed1425975a157e09b80818367c09f03, name=ingress, type=overlay)
network disconnect 9yo7n7g7uybtbasehwly0a21p (container=603f73ec69bd94be9b62248e91523d5b8ed1425975a157e09b80818367c09f03, name=myapp_stack_2_myapp_network, type=overlay)
container create 358a0661c03686b49eb1a960b9a290fd18821c99422b1f3d3211e47b6a83e26c (com.docker.stack.namespace=myapp_stack_2, com.docker.swarm.node.id=txx4ub7iz1naiytqjnaefyaus, com.docker.swarm.service.id=oijtd9i6abt9bftjgit1ftoy7, com.docker.swarm.service.name=myapp_stack_2_haproxy, com.docker.swarm.task=, com.docker.swarm.task.id=ztr1v8y2gheyc30hfes26ii2i, com.docker.swarm.task.name=myapp_stack_2_haproxy.1.ztr1v8y2gheyc30hfes26ii2i, image=haproxy:2.3.9@sha256:f63aabf39efcd277b04a503d38e59e80224a0c11f47b2568b13b0092698c5a3a, name=myapp_stack_2_haproxy.1.ztr1v8y2gheyc30hfes26ii2i)
network connect 9yo7n7g7uybtbasehwly0a21p (container=358a0661c03686b49eb1a960b9a290fd18821c99422b1f3d3211e47b6a83e26c, name=myapp_stack_2_myapp_network, type=overlay)
network connect rywtwie2qb45ar6vjsjm7uqn9 (container=358a0661c03686b49eb1a960b9a290fd18821c99422b1f3d3211e47b6a83e26c, name=ingress, type=overlay)
container start 358a0661c03686b49eb1a960b9a290fd18821c99422b1f3d3211e47b6a83e26c (com.docker.stack.namespace=myapp_stack_2, com.docker.swarm.node.id=txx4ub7iz1naiytqjnaefyaus, com.docker.swarm.service.id=oijtd9i6abt9bftjgit1ftoy7, com.docker.swarm.service.name=myapp_stack_2_haproxy, com.docker.swarm.task=, com.docker.swarm.task.id=ztr1v8y2gheyc30hfes26ii2i, com.docker.swarm.task.name=myapp_stack_2_haproxy.1.ztr1v8y2gheyc30hfes26ii2i, image=haproxy:2.3.9@sha256:f63aabf39efcd277b04a503d38e59e80224a0c11f47b2568b13b0092698c5a3a, name=myapp_stack_2_haproxy.1.ztr1v8y2gheyc30hfes26ii2i)
container die 358a0661c03686b49eb1a960b9a290fd18821c99422b1f3d3211e47b6a83e26c (com.docker.stack.namespace=myapp_stack_2, com.docker.swarm.node.id=txx4ub7iz1naiytqjnaefyaus, com.docker.swarm.service.id=oijtd9i6abt9bftjgit1ftoy7, com.docker.swarm.service.name=myapp_stack_2_haproxy, com.docker.swarm.task=, com.docker.swarm.task.id=ztr1v8y2gheyc30hfes26ii2i, com.docker.swarm.task.name=myapp_stack_2_haproxy.1.ztr1v8y2gheyc30hfes26ii2i, exitCode=1, image=haproxy:2.3.9@sha256:f63aabf39efcd277b04a503d38e59e80224a0c11f47b2568b13b0092698c5a3a, name=myapp_stack_2_haproxy.1.ztr1v8y2gheyc30hfes26ii2i)
network disconnect rywtwie2qb45ar6vjsjm7uqn9 (container=358a0661c03686b49eb1a960b9a290fd18821c99422b1f3d3211e47b6a83e26c, name=ingress, type=overlay)
network disconnect 9yo7n7g7uybtbasehwly0a21p (container=358a0661c03686b49eb1a960b9a290fd18821c99422b1f3d3211e47b6a83e26c, name=myapp_stack_2_myapp_network, type=overlay

So am not able to get logs of wsgi container logs and find out why its never started. How can I know why wsgi is not starting up?

Update

Below is the output of docker ps -a if its required. Note that wsgi container appears in the list below, but it was created 12 months back. Also its name has prefix myapp_demo_fm_v2 and not myapp_stack_2. So its log of 12 months older run.

$ docker ps -a
CONTAINER ID   IMAGE                                      COMMAND                  CREATED         STATUS                       PORTS     NAMES
589c3ded5c68   haproxy:2.3.9                              "docker-entrypoint.s…"   2 months ago    Exited (1) 2 months ago                myapp_stack_1_haproxy.1.ons0d6r68gcon872eg6wfx0nk
76cce6baa17a   myapp999/hello-world-node:v1             "docker-entrypoint.s…"   4 months ago    Exited (137) 4 months ago              jolly_thompson
946040fdb26d   myapp999/hello-world-node:v1             "docker-entrypoint.s…"   4 months ago    Exited (137) 4 months ago              heuristic_wright
090eea4f6587   19b3b74cc027                               "/bin/sh -c /entrypo…"   12 months ago   Exited (1) 12 months ago               myapp_demo_fm_v2_wsgi.1.emfy78yn0lntyic4yxxtdqioy
dbdaa88dedc0   gcr.io/k8s-minikube/kicbase:v0.0.30        "/usr/local/bin/entr…"   13 months ago   Exited (130) 2 months ago              minikube
876d7f293632   jenkins/jenkins:lts                        "/sbin/tini -- /usr/…"   13 months ago   Exited (143) 13 months ago             cranky_benz
dd88303738de   docker.elastic.co/beats/metricbeat:8.0.1   "/usr/bin/tini -- /u…"   14 months ago   Exited (0) 14 months ago               metricbeat2
430b061a9394   docker.elastic.co/beats/metricbeat:8.0.1   "/usr/bin/tini -- /u…"   14 months ago   Exited (1) 14 months ago               metricbeat
9d77b205edf8   vsc-volume-inspect                         "/bin/sh -c 'echo Co…"   15 months ago   Exited (0) 15 months ago               recursing_colden

Note that current wsgi container never appear in this list. I guess thats because wsgi container is not started at all when I run docker stack deploy ..., possibly some issue with docker-compose file. Two things I thought could be problematic:

  • wsgi container may fail to start if ./wsgi/myapp does not exist. But it does. I checked.
  • Port 9090 is already occupied. But it is not. I checked with sudo lsof -i :9090.
MsA
  • 2,599
  • 3
  • 22
  • 47
  • 1
    Have you tried starting the three basic services (wsgi and redis/postgres it relies on) individually, ie without Docker compose? – daniu May 21 '23 at 22:09
  • Yess super thanks to point me out to this! I converted docker compose section of `wsgi` container to `docker run` command and ran it. It revealed that it was not able to find the image. I misspelled the image name in docker compose file as `wsgi:myapp3_stack2`. I missed single underscore: `wsgi:myapp3_stack_2`. Wish docker compose told me that ! – MsA May 22 '23 at 14:16

0 Answers0