Docker: обнаружить и исправить разницу в изображении при сборке на другом компьютере? - PullRequest
0 голосов
/ 01 февраля 2020

Я пытаюсь решить проблему с перезапуском служб "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 ".

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...