Запуск WordPress внутри Docker
система управления контентом (CMS). Более 40% Интернета работает на WordPress. Docker — это система контейнеризации, используемая для запуска вашего программного обеспечения в изолированной среде. Концепция контейнеризации не нова в мире разработки программного обеспечения. Но Docker делает его очень удобным для разработчиков.В этой статье мы покажем вам, как установить сайт WordPress в контейнер Docker.
Почему Docker?
Почему Docker, спросите вы?
Ответ — простота. В Docker ваше приложение помещается в один образ. Для его запуска не нужно выполнять сложную установку и настройку.
Contents
Почему Docker?
p>Не говоря уже о том, что вам также будет быстрее и проще выполнить миграцию/обновление на другой сервер. Допустим, ваш WordPress становится очень популярным, и вам нужно обновить существующий сервер? С Docker это легко сделать, поскольку все уже помещено в контейнер. Если вы разрабатываете что-то с помощью Docker, то после развертывания оно работает везде.Читайте также: Как скопировать/переместить контейнер Docker на другой хост
Установка Docker
В этой статье мы собираемся установить движок Docker на сервер Ubuntu.
Перед установкой чего-либо, если в вашей системе установлена более старая версия Docker, удалите ее. Запустите эту команду в своем терминале, чтобы удалить все старые версии Docker.
sudo apt autoremove docker docker-engine docker.io containerd runc
Теперь приступим к установке:
- Обновите локальные индексы пакетов, запустив apt-get update, и установите зависимости для механизма Docker.
sudo apt update sudo apt install ca-certificates curl gnupg lsb-release
- Добавить официальный ключ GPG Docker.
sudo mkdir -p /etc/apt/keyrings curl -fsSL https://download.docker.com/linux/ubuУстановка Docker
n>| sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
- Настройте репозиторий.
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
- Установите последнюю версию движка Docker.
sudo apt-get update sudo apt-get install docker-ce docker-ce-cli containerd.io docker-compose-plugin
- Проверьте установку Docker, запустив образ hello world.
sudo docker run hello-world
Если этот образ Docker hello-world запускается без ошибок, поздравляем. Вы успешно установили Docker на свой компьютер с Ubuntu Linux.
Читайте также: Как установить Docker в Linux
Установка Docker Desktop
Если вы являетесь пользователем Linux на настольном компьютере и хотите установить Docker для целей разработки, то рабочий стол Docker должен быть предпочтительным кандидатом по сравнению с движком Docker. Docker Desktop предоставляет унифицированный интерфейс и независимый от платформы способ создания, запуска и отправки образов Docker.
Рабочий стол Docker в Linux работает внутри виртуальной машины, что совершенно противоположно модели общего ядра движка Docker. Вот почему для работы Docker Desktop ваш процессор должен поддерживать технологию виртуализации и Linux KVM. Вы можете проверить статус виртуализации в настройках UEFI/BIOS. Docker Desktop поддерживается в основных дистрибутивах Linux, таких как Ubuntu, Debian и Fedora.
Необходимость использовать виртуальную машину для рабочего стола Docker имеет множество причин. Некоторые из них описаны ниже.
- Использование виртуальной машины обеспечивает стабильную производительность и удобство работы Docker Desktop на всех платформах (Windows, Linux, macOS, Raspberry Pi и т. д.).
- Поскольку пользователи придерживаются версии своего дистрибутива с долгосрочной поддержкой, они не получают преимуществ новейших функций ядра. Использование виртуальной машины решает эту проблему. Теперь Docker может выбирать версию ядра и работать с последней версией ядра Linux.
- Использование виртуа
Установка Docker Desktop
езопасность пользователя. Как мы знаем, любой может загружать изображения в Docker Hub. Иногда изображения могут содержать вредоносный код, который может использовать ваш рабочий стол. Если вы перенесете такие вредоносные изображения на свой компьютер, они могут уничтожить ваш компьютер. - Поскольку рабочий стол Docker работает внутри виртуальной машины, вредоносные изображения не могут повлиять на хост-компьютер. Это делает рабочий стол Docker отличным кандидатом для опробования новых образов Docker.
Сначала убедитесь, что ваша система поддерживает KVM, qemu, systemd-init и индикатор приложения. В вашей системе должно быть не менее 4 ГБ оперативной памяти.
- Удалите любую предыдущую версию Docker-desktop, установленную в вашей системе
sudo apt remove docker-desktop
- Для полной очистки всех файлов конфигурации выполните следующую команду:
rm -r $HOME/.docker/desktop sudo rm /usr/local/bin/com.docker.cli sudo apt purge docker-desktop
- Настройте репозиторий пакетов Docker, выполнив следующие команды.
sudo apt update sudo apt install ca-certificates curl gnupg lsb-release sudo mkdir -p /etc/apt/keyrings curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
- Теперь перейдите к этому страница выпуска и загрузите последнюю версию
.deb
пакета Docker-desktop. - Установите пакет
.deb
с помощью dpkg.
sudo apt update sudo apt install ./docker-desktop-<version>-<arch>.deb
Чтобы запустить рабочий стол Docker, выполните поиск в меню приложения и запустите приложение, как обычно. Там вы можете увидеть приветственного гида. Следуйте руководству, чтобы узнать больше о рабочем столе Docker для Linux и о том, как его использовать. Вы также можете создавать контейнеры и образы с помощью настольного приложения Docker.
Услуги, необходимые для WordPress
Для запуска WordPress внутри контейнеров Docker нам нужны в основном 3 компонента. Сначала нам нужен сам WordPress, затем нам нужна база данных MySQL, а затем нам нужно место для хранения или том.
WordPress хранит все пользовательские данные в базе данных MySQL. Поэтому база данных MySQL играет решающую роль в нашей установке WordPress.
Память или том необходимы, если вы хотите установить новые темы или плагины. Эти файлы тем или плагинов будут храниться внутри тома.
Использование файла Docker-Compose
Поскольку нашему приложению требуется более одного сервиса, лучше всего использовать Docker-compose. Docker Compose — это инструмент Docker, который инициирует и поддерживает контейнеры Docker, а также устанавливает связь между ними.
- Создайте новый файл docker-compose.yml.
sudo nano docker-compose.yml
- Из предыдущего раздела мы узнали, что нам нужны в основном 3 службы. Сам WordPress, база данных MySQL и пространство тома. Поэтому наш файл docker-compose будет выглядеть так. Вы можете скопировать этот файл docker-compose.yml, если вам не нужны какие-либо другие настройки.
version: '3.3' services: wordpress: depends_on: - db image: wordpress:latest volumes: - wordpress_files:/var/www/html ports: - "80:80" restart: always environment: WORDPRESS_DB_HOST: db:3306 WORDPRESS_DB_USER: wordpress WORDPRESS_DB_PASSWORD: my_wordpress_db_password db: image: mysql:5.7 volumes: - db_data:/var/lib/mysql restart: always environment: MYSQL_ROOT_PASSWORD: my_db_root_password MYSQL_DATABASE: wordpress MYSQL_USER: wordpress MYSQL_PASSWORD: my_wordpress_db_password volumes: wordpress_files: db_data:
В приведенном выше файле docker-compose мы сначала определяем WordPress и БД (с использованием базы данных MySQL) как сервис. Тогда WordPress зависит от БД для сохранения своих данных. Мы используем последний образ WordPress для создания контейнера WordPress. Контейнер WordPress резервирует порт 80. Это порт по умолчанию для веб-сервисов. Поэтому, когда вы вводите URL-адрес http://domain-name.comв браузере, этот контейнер WordPress отправляет вам ответ.
Внутри службы базы данных мы используем образ MySQL версии 5.7 для создания нашего контейнера. Затем мы даем все необходимые учетные данные для общения с нашим контейнером WordPress.
Наконец, мы определяем наши объемы. Там будут храниться все файлы WordPress и данные базы данных. Если вы используете эту настройку на сервере, вам необходимо регулярно создавать резервную копию этого тома.
Также читайте: Как настроить WordPress для локальной разработки в Linux
Услуги, необходимые для WordPress
Теперь создайте папку или каталог и переместите в него файл docker-compose.yml. Затем запустите эту команду.
docker-compose up -d
После этой команды Docker извлечет все изображения, которые мы описываем, внутри нашего файла docker-compose.yml и создаст из него контейнер. Первый запуск может занять много времени, поскольку докеру придется загрузить все файлы из DockerHub. После того, как все настроено, когда вы загружаете IP-адрес вашего сервера в браузере, вы должны увидеть экран установки WordPress.
Поздравляем! Вы успешно запустили WordPress в контейнере Docker. Обратите внимание, что это еще не означает, что он готов к использованию в рабочей среде — вам все равно необходимо настроить SSL-сертификат.
Если вы хотите узнать больше о Docker, вы
Использование файла Docker-Compose
aintist.ru/2019/01/30/ispolzovat-doker-konteynery/" title="статья для начинающих.">статья для начинающих.Читайте также: 6 лучших услуг хостинга WordPress для вашего сайта WordPress
Часто задаваемые вопросы
Могу ли я запустить Docker-desktop одновременно с движком Docker?
Да, вы можете одновременно запускать Docker-desktop и движок Docker на своем компьютере. Но когда обеим службам требуется доступ к одним и тем же системным ресурсам, таким как сетевые порты или тома, между ними возникает конфликт. Поэтому рекомендуется остановить одну службу перед запуском другой.
Рабочие столы Docker можно легко остановить с помощью приложения с графическим интерфейсом пользователя. Чтобы остановить движок Docker, выполните следующую команду.
sudo systemctl stop docker docker.socket containerd
sudo systemctl disable docker docker.socket containerd
Как автоматически запустить сайт WordPress после перезагрузки?
Если вы остановили свой сервер для обслуживания или обновления каких-либо материалов, вы можете настроить его на автоматический запуск WordPress после каждой перезагрузки с помощью Docker. Просто добавьте параметр restart: always
под каждую службу вашего файла docker-compose. Вы можете увидеть этот параметр, который мы добавили в файл docker-compose.yml.
Могу ли я использовать Nginx с Docker-compose и WordPress?
Да, вы можете использовать Nginx или любой другой тип сервера для обслуживания контента WordPress с помощью Docker. Nginx также можно использовать в качестве обратного прокси. Вы можете легко распределять свой трафик, установив Nginx с Docker и WordPress.