30 ноября, 2018
4мин. чтения
Elena B.
Если вы неплохо знакомы со сферой создания приложений и веб-разработки, то вы наверняка сталкивались с термином «контейнеры». И это не спроста. Использование контейнеров может пригодиться для многих нужд независимо от того, ищете ли вы изолированную среду для тестирования своего приложения или хотите, чтобы ваше приложение было портативным и без проблем устанавливалось на любом компьютере. Одним из самых известных решений для данной задачи является Docker. Он настолько популярен, что практически невозможно не упомянуть его при разговоре о контейнерах.
В этом руководстве мы покажем, как использовать Docker для своего проекта на WordPress. Это руководство может быть полезным для тех кому необходима среда для проведения изолированных тестов на своих проектах. Он также может служить в качестве площадки для экспериментов над плагинами и темами для WordPress.
Итак, сядьте поудобней и откройте для себя чудеса контейнеризации.
Перед тем, как вы начнете это руководство, вам понадобится следующее:
Принцип работы контейнеров можно легко понять использовав концепт виртуальных машин. Подобно виртуальным машинам, контейнеры обеспечивают безопасность путем одновременного запуска отдельных экземпляров операционных систем без взаимодействия друг с другом. Кроме того, как и виртуальные машины, контейнеры повышают мобильность и гибкость ваших проектов, так как вы не зависимы от какого-либо конкретного оборудования и можете перейти на любое другое облако, локальную среду и т.д.
Но в отличие от виртуальных машин, для которых требуется установка полнофункциональных операционных систем, что вызывает дополнительную нагрузку. Контейнеры совместно используют ядро одной операционной системы, сохраняя при этом изоляцию по отношению к другим контейнерам. Проще говоря, вы получаете тот же результат, что и при использовании виртуальных машин, но без дополнительной нагрузки.
Docker использует такую же схему для создания контейнеров на VM на базе Linux. В одном контейнере Docker, вы получаете доступ ко всем необходимым вам ресурсам: исходному коду, зависимостям и среде выполнения.
Это особенно полезно для разработчиков WordPress. Вы не только сэкономите время на установку всей необходимой для WordPress среды, но и место, и ресурсы вашего сервера. Docker может помочь вам в этом, создав минимальную среду, которую вы можете легко перенести.
Хорошая новость, Docker доступен на всех крупных операционных системах: Windows, MacOS и Linux. Плохая, уровень поддержки разнится между этими операционными системами. Поэтому, в зависимости от того, какую операционную систему вы используете, сложность установки может различаться.
Linux является рекомендуемой операционной системой для установки Docker. Это связано с тем, что изначально он был выпущен для Linux в 2013 году. Установка на разных дистрибутивах Linux будет отличаться. Ниже показаны шаги для установки Docker на Ubuntu 14.04 LTS, если у вас другая версия Linux обратитесь к официальной документации.
apt-get update
apt-get -y install docker.io
ln -sf /usr/bin/docker.io /usr/local/bin/docker sed -i '$acomplete -F _docker docker' /etc/bash_completion.d/docker.io
service docker.io status
update-rc.d docker.io defaults
С момента обновления Yosemite, MacOS также стал поддерживать Docker. Конечно не настолько хорошо как Linux, но вы все равно можете достичь практически того же результата на вашем компьютере Mac:
Из-за потребностей рынка, Docker был портирован на более популярный Windows в июне 2016. Перед этим, только пользователи Windows Сервера имели возможность использовать его на платформе Microsoft. Теперь вам необходимо лишь наличие 64-битной версии Windows 10. В дополнение к этому, необходим включенный Hyper-V, который вы можете запустить сами в BIOS или позволить установщику сделать это самому.
Кстати о нем, скачайте и запустите установщик клиента для Windows. Мы рекомендуем использовать Stable версию, однако, вы можете выбрать любую нужную вам. В процессе установки, вы получите сообщение о вводе вашего пароля, который необходим для выдачи клиенту определенных привилегий.
После окончания установки, клиент запуститься автоматически. Вы должны увидеть Приветственное окно. Вы можете проверить правильность установки, запустив данную команду в командной строке (cmd):
docker –version docker-compose –version docker-machine –version
Если команды выполнятся без ошибок, значит Docker готов к работе.
Теперь, когда вы узнали, что установка прошла успешно, необходимо протестировать его работу. Существует несколько способов сделать это. Самый легкий и самый распространенный способ проверки работы:
docker run hello-world
Эта команда возьмет картинку ‘Hello World’ из хранилища Docker (о нем немного позже) и создаст новый контейнер с этой картинкой. В результате вы должны увидеть это сообщение:
Hello from Docker. This message shows that your installation appears to be working correctly.
Если все правильно, то вы успешно закончили установку. Если вы хотите узнать немного больше о Docker, то прочтите специальную страницу о начале работы с ним.
Теперь когда у вас есть рабочая копия Docker на вашей операционной системе, вы можете начать размещение WordPress. Обратите внимание, что теперь не имеет значение какую операционную систему вы используете.
Есть два метода для настройки WordPress на Docker. Первый это ручной метод, который использует CLI для запуска WordPress. Второй более автоматизированный и систематический способ заставить WordPress работать на Docker с помощью Docker Compose, поэтому он будет использоваться в качестве примера в этом руководстве.
Это рекомендованный метод для создания контейнера WordPress или любого контейнера в Docker. Он использует собственный инструмент — Docker Compose. Каждый из контейнеров созданный с помощью Docker Compose использует файл конфигурации, что делает процесс его портирования гораздо легче.
Если вы правильно следовали инструкциям из Шага 1, вы уже должны иметь Docker Compose. Однако вы все равно должны запустить проверку:
docker-compose --version
Далее, вам необходимо создать новый каталог для WordPress:
mkdir wordpress
Как и в предыдущем разделе. Зайдите в созданную папку, откройте любой текстовый редактор и создайте новый файл под названием docker-compose.yml.
Вставьте следующий код в файл .yml и сохраните изменения:
version: '2' services: db: image: mysql:5.7 volumes: - db_data:/var/lib/mysql restart: always environment: MYSQL_ROOT_PASSWORD: somewordpress MYSQL_DATABASE: wordpress MYSQL_USER: wordpress MYSQL_PASSWORD: wordpress wordpress: depends_on: - db image: wordpress:latest ports: - "8000:80" restart: always environment: WORDPRESS_DB_HOST: db:3306 WORDPRESS_DB_USER: wordpress WORDPRESS_DB_PASSWORD: wordpress volumes: db_data:
Этот код создаст экземпляр службы базы данных MySQL, предоставит учетные данные к базе данных и вытащит изображение WordPress из Docker Hub.
Чтобы запустить файл, выполните следующую команду:
docker-compose up -d
Теперь введите в вашем браузере localhost:8000 или http://127.0.0.1:8000 и вы должны увидеть знаменитый 5-минутный установщик WordPress.
Docker — отличный инструмент, если вы хотите воспользоваться преимуществами контейнеризации. Это может быть особенно полезно для разработчиков WordPress, поскольку их работа требует постоянного экспериментирования с плагинами, темами и т.д.
В этом руководстве вы узнали, как установить Docker на Linux, MacOS и Windows. Вы также познакомились с установкой WordPress на Docker с помощью Docker Compose. Надеемся теперь вы будете использовать контейнеры вместо виртуальных машин для создания ваших приложений для WordPress.
04 сентября 2017
Не работает. - In file './docker-compose.yml', service must be a mapping, not a NoneType
Renat Galimov
Отвечено 04 сентября 2017
Добрый день! Попробуйте вновь скопировать код в файл .yml и сохранить изменения. Если вы вновь получите ошибку, то тогда лучше вставьте код из этой ссылки.