Как передать поток данных (в данном случае SQL) в контейнер docker / podman, требующий нескольких команд в командной строке exe c? - PullRequest
0 голосов
/ 24 января 2020

Я пытаюсь восстановить базы данных mysql, сохраненные до file.sql.gz, с помощью mysqldump в новом экземпляре контейнера mariadb, работающем под podman (или docker, который работает так же). Поскольку у меня также нет (или я не хочу) клиента mysql на хосте, а в этом контейнере нет gzip, моя идея заключалась в том, чтобы передать разархивированный sql в команду exe c на работающем контейнере и в mysql вот так:

gzip -dc  MyMusic72.sql.gz | podman exec mariadb bash -c 'cat - | /usr/bin/mysql -u root -pmypasswd'

Однако, похоже, это не сработает, потому что bash -c явно не пересылает STDIN? Но в то же время мне, кажется, нужно bash -c, чтобы вся командная строка интерпретировалась как часть команды podman exec ...

(Конечно, я мог разархивировать файлы SQL и смонтировать их расположение в контейнере, но, безусловно, должно быть возможно сделать это за один шаг?)

Есть идеи?

...