Как конвертировать контейнер в изображение? - PullRequest
0 голосов
/ 02 марта 2019

Я установил WordPress с docker-compose, теперь я закончил разработку сайта, как я могу превратить этот контейнер в постоянное изображение, чтобы я мог обновлять этот сайт, даже если я удаляю текущий контейнер?

Процедура, которую я прошел, такая же, как у этого урока .

Теперь я получил контейнер WordPress, как показано ниже

$ docker-compose images
      Container         Repository       Tag          Image Id      Size 
-------------------------------------------------------------------------
wordpress_db_1          mysql        5.7            e47e309f72c8   355 MB
wordpress_wordpress_1   wordpress    5.1.0-apache   523eaf9f0ced   402 MB

1 Ответ

0 голосов
/ 02 марта 2019

Если этот образ WordPress хорошо сделан, вам нужно только сделать резервную копию ваших томов .Однако если вы изменили файлы в файловой системе контейнера (в отличие от томов), вам также потребуется commit вашего контейнера для создания нового образа докера.Такое изображение можно затем использовать для создания новых контейнеров.

Чтобы выяснить, были ли файлы изменены или добавлены в файловую систему контейнера, выполните команду docker diff:

docker diff wordpress_wordpress_1

На моих тестах, после прохождения настройки Wordpress и даже после обновления Wordpress, плагина и тем результат команды docker diff дает мне:

C /run
C /run/apache2
A /run/apache2/apache2.pid

Это означает, что только 2 файла / каталога были C зависли и 1 файл A dded.

Таким образом, нет смысла сталкиваться с проблемой использованияdocker commit команда для создания нового образа докера.Такое изображение будет иметь только эти 3 модификации.

Это также означает, что этот образ докера Wordpress хорошо спроектирован, потому что все ценные данные сохраняются в томах докера.(То же самое относится и к образу MySQL)


Как бороться с потерянным контейнером?

Как мы уже убедились ранее, все ценные данные находятся в томах докера.Так что не имеет значения, если вы потеряете свои контейнеры.Все, что имеет значение, это не потерять свои объемы.На вопрос о том, как сделать резервную копию тома докера уже многократно отвечали при переполнении стека.

Теперь следует помнить, что несколько команд docker и docker-compose действительно удаляют тома!Например, если вы запускаете docker rm -v <my container>, опция -v должна указывать Docker также удалять связанные тома при удалении контейнера.Или, если вы запустите docker-compose down -v, тома также будут удалены.


Как сделать резервную копию Wordpress, работающего в проекте docker-compose?

Что ж, лучший способ - это сделать резервную копию вашегоWordpress данные с плагином Wordpress, который хорошо известен тем, что делает это правильно.Не потому, что вы работаете с Wordpress в докер-контейнерах, хорошие практики Wordpress больше не применяются.

В случае, если вам нужно восстановить ваш сайт, запустите новые контейнеры / тома с помощью файла docker-compose.yml, пройдите минимальную настройку Wordpress, установите плагин резервного копирования и используйте его для восстановления ваших данных.

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