Skip to content

Conflict with UI of Synology DSM Container Manager #205

@galentx

Description

@galentx

Thank you for this excellent tool!

When I perform dockcheck.sh -r -I -F and update containers, the update goes fine but the Synology is left with mangled container names in its UI and I cannot stop nor otherwise manipulate the containers in the UI. My guess is that the UI somehow latches onto a temporary name during the update process and won't let go of it. It has happened more than once, I believe specifically for containers in a 'project' (compose).

If I try to examine details of the name-mangled containers in the UI, I get a "Container undefined does not exist" message. I suspect the name the UI has latched onto is that of the now-deleted previous version (I did accept the pruning offer). Trying to stop the container elicits the same error message and trying to stop the project in the UI just displays an empty progress window and hangs.

I believe I can manually stop the containers in a terminal using the container IDs, then stop and restart the project in the UI and everything will clear up. I think that is what I did last time this happened. I'm going to postpone doing that in case there is any research I can do to help solve this. I'd be willing to try some things here to come up with a suitable patch, but I'm not sure where to start. It seems like we need a way to either 1) not latch onto old versions that are being deleted, 2) force a reset of the state the US depends upon, or maybe 3) use the same (probably undocumented) mechanism the UI uses to stop/rebuild/start the project.

Simply restarting my UI session does not resolve the issue.

Best regards,
Galen

Details:

dockcheck 0.6.6
Synology DSM 7.2.2-72806 Update 3
Container Manager 24.0.2-1535

This is what shows in the UI:

Image

This is the dockcheck run:

$ sudo ./dockcheck.sh -r -I -F

Excluding these names:
logspout

[##################################################] 15/15

Containers on latest version:
grafana
<snip>

Containers with updates available:
1) - graylog-app  ->  url missing
2) - graylog-datanode  ->  url missing

Choose what containers to update.
Enter number(s) separated by comma, [a] for all - [q] to quit: a

Updating container(s):
graylog-app
graylog-datanode

Now updating (1/2): graylog-app
6.2: Pulling from graylog/graylog-enterprise
89dc6ea4eae2: Already exists
31436012ac5b: Already exists
2d16eb76e762: Already exists
ac81863d97cb: Already exists
26f6dfeccc10: Already exists
1b19a48937e3: Pull complete
4f4fb700ef54: Pull complete
eaebc83340ed: Pull complete
5ef9e31f5b6b: Pull complete
61992ffc99cf: Pull complete
Digest: sha256:a265fa8b0a1477135d786f5aa7d707b909c8fd9c0a8f9209a2c5c9fa240a2f0c
Status: Downloaded newer image for graylog/graylog-enterprise:6.2
docker.io/graylog/graylog-enterprise:6.2

Now updating (2/2): graylog-datanode
6.2: Pulling from graylog/graylog-datanode
89dc6ea4eae2: Already exists
cccb50d50c57: Pull complete
764fad8047e4: Pull complete
dc471ae841c3: Pull complete
6edf050e17a6: Pull complete
c52dfcf8354b: Pull complete
73ee682bb6c2: Pull complete
27500565b9e2: Pull complete
Digest: sha256:996acb6e106b6d96e371e9344c32d4b562abf2afd21e5d814362f74e112b0cb3
Status: Downloaded newer image for graylog/graylog-datanode:6.2
docker.io/graylog/graylog-datanode:6.2

Done pulling updates. Recreating updated containers.

Now recreating (1/2): graylog-app
[+] Running 3/3
 ✔ Container graylog-mongodb   Running                                                                                          0.0s
 ✔ Container graylog-datanode  Started                                                                                         20.1s
 ✔ Container graylog-app       Started                                                                                         15.0s

Now recreating (2/2): graylog-datanode
[+] Running 1/0
 ✔ Container graylog-datanode  Running                                                                                          0.0s

Would you like to prune dangling images? y/[n]: y

 Auto pruning..Deleted Images:
untagged: graylog/graylog-enterprise@sha256:796613d00384eb346f25ce98951d39cb66a2069f840d4decaba0071d2594c165
deleted: sha256:7572a82d25b0c828c13118ed142441afbb629abe0ed08185475901aa4cbdb30b
deleted: sha256:f7883c036442c29cb7c21f7bac5367aecd07b15d37d3135740b8cb276e4da2ff
deleted: sha256:8638e2481f105c28b6a9c4d61e47f4a9aa20599af54e7ba9673133aff6c44e72
deleted: sha256:cd8ec0689ae8dfdc5487adcebf271f98d2669ce505d5e34de95ce6f1f5b7d684
deleted: sha256:6d8d187b3855dc0dda3ddf845c50b63151af6b7f67e0f795a5ac6d88d88dfff9
deleted: sha256:659eccaa88f9f3c6615f6c2ba365833459c5226f9344425ce65b6058bfd7b190
untagged: graylog/graylog-datanode@sha256:e4b0b3e1064c0d5d451b3f0f450639dbca13e55393937185c4568e1c2ac69016
deleted: sha256:aa1b4c58704b2f06a1983015bb273b423e32ebdf8cd9b861e7f7494edd11483b
deleted: sha256:0fe815a3a8f64ade5ce0167f32122879b1198bdb217b643242b6576e254629fa
deleted: sha256:9db899ac2e2cb40e90e813ff808b95ead19990d5e4868c4d59be783fb0086b4b
deleted: sha256:b31f8e2dc43cbe76fb9d0f64b63c917b7784ff80e8794009697341fd94daa5ab
deleted: sha256:af2c09d699eb17ec600d2b6b713a8c491747f8cef4d2a20398ef76fd42335fd2
deleted: sha256:ef3217cc643442e6aeada82dbe8d46e13bc76bc913b41a3164c2649fafa3586e
deleted: sha256:74991e7d99f04e3abb31b4031ad74ffcec7577bdf0131407fe0c0c6c0732584d
deleted: sha256:23dbe12f0d3da4bf4fa8377017d6189e39b44414baf73bbae166df0783eec6bf

Total reclaimed space: 2.333GB

All done!

And here is the relevant portion of the docker container listing:

$ sudo docker container ls
CONTAINER ID   IMAGE                                   COMMAND                  CREATED          STATUS                    PORTS     NAMES
25c35055e2e2   graylog/graylog-enterprise:6.2          "/usr/bin/tini -- /d…"   44 minutes ago   Up 43 minutes (healthy)             graylog-app
e8fcbb57e6bd   graylog/graylog-datanode:6.2            "tini -- /entrypoint…"   44 minutes ago   Up 43 minutes                       graylog-datanode
9fea9b9d5005   grafana/grafana:latest                  "/run.sh"                5 days ago       Up 5 days                           grafana
<snip>

Finally, the container listing in json format may provide better insight. The com.docker.compose.replace labels correspond with the name mangling in the Synology UI:

[
    {
        "Command": "\"/usr/bin/tini -- /d…\"",
        "CreatedAt": "2025-06-23 12:38:26 -0500 CDT",
        "ID": "25c35055e2e2",
        "Image": "graylog/graylog-enterprise:6.2",
        "Labels": "org.label-schema.build-date=2025-06-23T10:10:20Z,org.label-schema.schema-version=1.0,org.label-schema.vcs-ref=929b6d9851572af361438cb33df8d2bcf8de2b84,org.label-schema.vcs-url=https://github.com/Graylog2/graylog-docker,com.docker.compose.oneoff=False,com.docker.compose.project.working_dir=/volume1/docker/graylog,com.docker.compose.version=2.20.1,maintainer=Graylog, Inc. <[email protected]>,org.label-schema.vendor=Graylog, Inc.,org.label-schema.name=Graylog Enterprise Docker Image,org.label-schema.url=https://www.graylog.org/,com.docker.compose.config-hash=e4b1bf4648a2d4e032439e1cd1d54d34d97a59225ad26d50adfa75f5a317e098,com.docker.compose.depends_on=datanode:service_started:false,mongodb:service_started:false,com.docker.compose.project=graylog,com.docker.compose.project.config_files=/volume1/docker/graylog/compose.yaml,com.docker.compose.container-number=1,com.docker.compose.service=graylog,org.opencontainers.image.ref.name=ubuntu,org.opencontainers.image.version=22.04,com.docker.compose.image=sha256:33b7369b611d17d34e2c7bbc20febf0bf01c908cf2ccd1c2fc2c0cd1f162811d,com.docker.compose.replace=3addb7e9f2c17293554ef2e51e5cfcda4c421be33fcea7058531d5dd492400a1,org.label-schema.description=Official Graylog Enterprise Docker Image,org.label-schema.version=6.2.4",
        "LocalVolumes": "1",
        "Mounts": "01bbb4e3d2f2e1…,/volume1/docke…,/volume1/docke…",
        "Names": "graylog-app",
        "Networks": "graylog_backend,macvlan0",
        "Ports": "",
        "RunningFor": "48 minutes ago",
        "Size": "0B",
        "State": "running",
        "Status": "Up 48 minutes (healthy)"
    },
    {
        "Command": "\"tini -- /entrypoint…\"",
        "CreatedAt": "2025-06-23 12:38:19 -0500 CDT",
        "ID": "e8fcbb57e6bd",
        "Image": "graylog/graylog-datanode:6.2",
        "Labels": "com.docker.compose.config-hash=163557f122acdd197ace6ad1e32e104f1b16047c7dc9ba62dd73b175a83d85ff,org.opencontainers.image.authors=Graylog, Inc. <[email protected]>,org.opencontainers.image.documentation=https://docs.graylog.org/,org.opencontainers.image.licenses=SSPL-1.0,org.opencontainers.image.source=https://github.com/Graylog2/graylog-docker,org.opencontainers.image.title=Graylog Data Node,com.docker.compose.service=datanode,com.docker.compose.version=2.20.1,org.opencontainers.image.description=Container image to run the Graylog Data Node,com.docker.compose.project=graylog,com.docker.compose.project.working_dir=/volume1/docker/graylog,com.docker.compose.replace=b77679721ed70986cfb33744259723edf5f3f8b4356f8417f24126ec8e93dfd4,org.opencontainers.image.url=https://www.graylog.org/,org.opencontainers.image.version=6.2.4,org.opencontainers.image.revision=929b6d9851572af361438cb33df8d2bcf8de2b84,com.docker.compose.container-number=1,com.docker.compose.depends_on=,com.docker.compose.image=sha256:f963c45fda45f317ad85c4bd85b6d738d404163c293630f13d71d3e682fcfe62,com.docker.compose.oneoff=False,com.docker.compose.project.config_files=/volume1/docker/graylog/compose.yaml,org.opencontainers.image.created=2025-06-23T10:06:09Z,org.opencontainers.image.ref.name=ubuntu,org.opencontainers.image.vendor=Graylog, Inc.",
        "LocalVolumes": "0",
        "Mounts": "/volume1/docke…",
        "Names": "graylog-datanode",
        "Networks": "graylog_backend",
        "Ports": "",
        "RunningFor": "48 minutes ago",
        "Size": "0B",
        "State": "running",
        "Status": "Up 48 minutes"
    },
    {
        "Command": "\"/run.sh\"",
        "CreatedAt": "2025-06-18 11:34:17 -0500 CDT",
        "ID": "9fea9b9d5005",
        "Image": "grafana/grafana:latest",
        "Labels": "maintainer=Grafana Labs <[email protected]>,org.opencontainers.image.source=https://github.com/grafana/grafana",
        "LocalVolumes": "0",
        "Mounts": "/volume1/docke…,/volume1/docke…",
        "Names": "grafana",
        "Networks": "host",
        "Ports": "",
        "RunningFor": "5 days ago",
        "Size": "0B",
        "State": "running",
        "Status": "Up 5 days"
    }
]

Metadata

Metadata

Assignees

Labels

enhancementNew feature or request

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions