Загрузка дампа снаружи контейнера или изнутри с точки зрения производительности - PullRequest
0 голосов
/ 10 мая 2019

Есть ли заметная разница, если я загружаю дамп mysql из самого контейнера или я использую docker exec -i для его загрузки извне?

1 Ответ

0 голосов
/ 10 мая 2019

Два пути функционально идентичны: вы выполняете одинаковые команды SQL для одной и той же базы данных. Как правило, я бы рекомендовал избегать docker exec, если есть другой способ сделать то, что вам нужно, особенно для взаимодействия с сетевым сервисом.

Для запуска клиента mysql требуется установить обычные инструменты, необходимые для взаимодействия с базой данных, и после того, как вы это сделаете, вы можете сделать это как непривилегированный пользователь. Вы даже можете сделать это с другого хоста. Вы никогда не будете смущены тем, находится ли файл в пространстве файловой системы хоста или в пространстве файловой системы контейнера.

docker exec требует привилегий корневого уровня на хосте (если вы можете docker exec, тогда вы также можете docker run -v/:/host ... и изменить что угодно на хосте) и, по сути, включает получение корневой оболочки на сервер базы данных. Ни один из них на самом деле не является лучшей практикой для обычных административных операций.

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