Я пытаюсь решить проблему с перезапуском служб "docker stack deploy", хотя в них ничего не изменилось.
После использования "docker service inspect" до / после перезапуска единственное отличие было дайджест образа, и это происходило только тогда, когда образы создавались на разных машинах.
Одна машина работает под управлением OS X, а другая - под CentOS. Сервер, который я использую для сборки, тот же (это удаленный сервер).
Одно из изображений довольно простое:
FROM haproxy:1.9.12
COPY ./haproxy.cfg /etc/haproxy/haproxy.cfg
CMD [ "haproxy", "-f", "/etc/haproxy/haproxy.cfg" ]
Я загрузил оба изображения и использовал container-diff для проверьте различия:
$ container-diff diff redis1.tar redis2.tar --type=history --type=file --type=size
-----File-----
These entries have been added to redis1.tar: None
These entries have been deleted from redis1.tar: None
These entries have been changed between redis1.tar and redis2.tar: None
-----History-----
Docker history lines found only in redis1.tar:
-/bin/sh -c #(nop) COPY file:e4e53e806b03857566bbcb48c920d9ee9b41d32eceba25a10df1ed4c22760e28 in /etc/haproxy/haproxy.cfg
Docker history lines found only in redis2.tar:
-/bin/sh -c #(nop) COPY file:220f19aa16e0df948e3950af7ef48581f26e665052605fd64c3e772b6006db30 in /etc/haproxy/haproxy.cfg
-----Size-----
Image size difference between redis1.tar and redis2.tar: None
Как вы можете видеть, содержимое файлов одинаково, но разница в га sh, который создает Docker.
Из того, что я Прочитал, это ха sh также включает в себя разрешения на хосте. Поэтому я также убедился, что файлы имеют одинаковые разрешения (644), но га sh все еще отличается.
Что еще мне следует проверить в этом случае?
Все хосты работают " Docker версия 19.03.5, сборка 633a0ea ".