Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Container status remains showing as the animated progress bar after SIGHUP #6486

Closed
3 tasks done
cjwalsh opened this issue Sep 19, 2022 · 3 comments
Closed
3 tasks done

Comments

@cjwalsh
Copy link

cjwalsh commented Sep 19, 2022

  • I have tried with the latest version of Docker Desktop
  • I have tried disabling enabled experimental features
  • I have uploaded Diagnostics
  • Diagnostics ID:

Expected behavior

When a container receives SIGHUP signal the status shown in the Containers screen in Docker Desktop for Mac should revert to Running once the container has reloaded its configuration

Actual behavior

The status remains as the animated progress bar once the SIGHUP signal has been received and never reverts to Running. The summary for the project/app shows the overall count of running containers correctly however.

image

Information

  • macOS Version: Monterey (12.5.1)
  • Intel chip or Apple chip: Apple M1 Max chip
  • Docker Desktop Version: v4.12.0

Output of /Applications/Docker.app/Contents/MacOS/com.docker.diagnose check

Starting diagnostics

[PASS] DD0027: is there available disk space on the host?
[PASS] DD0028: is there available VM disk space?
[PASS] DD0031: does the Docker API work?
[PASS] DD0004: is the Docker engine running?
[PASS] DD0011: are the LinuxKit services running?
[PASS] DD0016: is the LinuxKit VM running?
[PASS] DD0001: is the application running?
[PASS] DD0018: does the host support virtualization?
[PASS] DD0017: can a VM be started?
[PASS] DD0015: are the binary symlinks installed?
[PASS] DD0003: is the Docker CLI working?
[PASS] DD0013: is the $PATH ok?
[PASS] DD0007: is the backend responding?
[PASS] DD0014: are the backend processes running?
[PASS] DD0008: is the native API responding?
[PASS] DD0009: is the vpnkit API responding?
[PASS] DD0010: is the Docker API proxy responding?
[PASS] DD0012: is the VM networking working?
[PASS] DD0032: do Docker networks overlap with host IPs?
[SKIP] DD0030: is the image access management authorized?
[PASS] DD0019: is the com.docker.vmnetd process responding?
[PASS] DD0033: does the host have Internet access?
No fatal errors detected.

Steps to reproduce the behavior

I am using nginxproxy/docker-gen in one container to send SIGHUP signal to another container running nginx:mainline-alpine as reverse proxy to reload the configuration after new SSL cert has been issued via nginxproxy/acme-companion in a third container. This setup is working fine, the configuration gets reloaded correctly, and docker ps command shows the containers as running. However the Containers screen in Docker Desktop shows the animated progress bar as the status for the nginx reverse proxy and the acme-companion containers.

docker-compose.yml

version: '3.9'

services:

  reverse-proxy:
    image: nginx:mainline-alpine
    container_name: reverse-proxy
    volumes:
     - conf:/etc/nginx/conf.d
     - certs:/etc/nginx/certs
     - vhost:/etc/nginx/vhost.d
     - html:/usr/share/nginx/html
    ports:
     - "80:80"
     - "443:443"
    networks:
     - proxy-net
    restart: always

  acme:
    image: nginxproxy/acme-companion
    container_name: acme
    volumes_from:
      - reverse-proxy
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock:ro
      - acme:/etc/acme.sh
    environment:
      - DEFAULT_EMAIL=<my email address>
      - ACME_CA_URI=https://acme.zerossl.com/v2/DV90
      - ZEROSSL_API_KEY=<my ZeroSSL API key>
      - NGINX_DOCKER_GEN_CONTAINER=dockergen
    networks:
      - proxy-net
    restart: always

  dockergen:
    image: nginxproxy/docker-gen
    container_name: dockergen
    command: -notify-sighup reverse-proxy -watch -wait 5s:30s /etc/docker-gen/templates/nginx.tmpl
      /etc/nginx/conf.d/default.conf
    volumes_from:
      - reverse-proxy
    volumes:
      - /var/run/docker.sock:/tmp/docker.sock:ro
      - ./nginx.tmpl:/etc/docker-gen/templates/nginx.tmpl:ro
    networks:
      - proxy-net
    restart: always

volumes:
  certs:
  vhost:
  html:
  acme:
  conf:

networks:
  proxy-net:
    attachable: true

This can be reproduced directly by starting just the nginx reverse proxy container and then using docker kill --signal=SIGHUP reverse-proxy to send the signal to the container, at which point you can see the animated refreshing bar.

image

Results of the docker ps command:

CONTAINER ID   IMAGE                   COMMAND                  CREATED          STATUS          PORTS                                      NAMES
de9e9470bbdb   nginx:mainline-alpine   "/docker-entrypoint.…"   25 minutes ago   Up 25 minutes   0.0.0.0:80->80/tcp, 0.0.0.0:443->443/tcp   reverse-proxy

@joe0BAB
Copy link

joe0BAB commented Sep 22, 2022

Hi @cjwalsh! Thanks for reporting the issue! I can reproduce it and have created an internal ticket.

@ebriney
Copy link
Member

ebriney commented Nov 10, 2022

Closing this issue because a fix has been released in Docker Desktop 4.14.0. See release notes for more details.

@ebriney ebriney closed this as completed Nov 10, 2022
@docker-robott
Copy link
Collaborator

Closed issues are locked after 30 days of inactivity.
This helps our team focus on active issues.

If you have found a problem that seems similar to this, please open a new issue.

/lifecycle locked

@docker docker locked and limited conversation to collaborators Mar 5, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

4 participants