2016-12-16 5 views
1

В настоящее время я играю с докером, чтобы создать среду разработки PHP. Существует несколько контейнеров (nginx, php7 + контейнер данных, контейнер данных mysql +, phpmyadmin), которые работают и подключены друг к другу, что пока работает нормально. По соображениям удобства, я добавляю несколько сценариев к MySQL в контейнер, который может быть использован другими разработчиками:Установить SCP в контейнере Docker

  • сбросом базы данных в исходную базу данных
  • сбросить базу данных для текущего дампа производственной базы

Я предоставляю сервер разработки, который каждые 15 минут вытаскивает живой свалку из производственной системы и помещает ее в хорошо известный каталог. Теперь я хотел бы добавить второй скрипт в контейнер mysql, который в основном делает следующее:

Используйте ключ SSH разработчика (ранее был помещен в доступную папку), подключитесь к машине разработки, SQL дамп и замените базу данных этим контентом.

Моя текущая проблема заключается в том, что я понятия не имею, как получить данные. Я использую образ mysql как базовое изображение, внутри контейнера нет доступных scp или подобных.

Вопрос: Как реализовать проблему, описанную выше? Могу ли я каким-либо образом установить команду scp в контейнер? Я не хочу полагаться на скрипты, запущенные на фактическом хосте, потому что используются различные операционные системы.

+0

Что мешает вам установить УПП? Что мешает вам просто «ssh » mysqldump -u -p mydb "> mydb.sql'? – Adam

+0

У меня нет ни scp, ни ssh, доступных внутри контейнера. Как я смогу установить это внутри контейнера докеров? –

ответ

5

Добавьте следующее ваше Dockerfile:

RUN apt-get update && apt-get -y install openssh-client

+0

Не знал, что можно просто установить такое программное обеспечение. Независимо ... «apt-get update && apt-get -y install openssh-client» сделал трюк. Благодарю. –

Смежные вопросы