Разворачиваем LAMP, используя Докер

Прочитав название данной статьи, вы могли бы задаться вопросом, почему мы должны привести в действие LAMP и LEMP стеки, используя Докер? Почему мы не можем просто установить их вручную? Настройка LAMP и LEMP стека очень проста, тогда почему мы должны усложнять работу с Docker? Позвольте мне ответить на Ваши вопросы. Привести манипуляцию в стеке LAMP, используя docker, гораздо легче, чем вручную устанавливать их.

Зачем нужно разворачивать LAMP-стеки, используя Докер?

Как вы, наверное, знаете, Докер имеет маленький вес, и на уровне ОС обеспечивает решение для виртуализации. Вам не нужно каких-либо программных обеспечений для виртуализации, (таких как VirtualBox, базе Xen или VMware и т. д.,) чтобы проверить и развернуть несколько операционных систем. Для получения более подробной информации о установке ,настройке и использовании, пожалуйста, перейдите по следующей ссылке.

Докер – легковесная виртуализация с Linux-Контейнерами

И зачем нам нужно разворачивать LAMP или LEMP стеки с помощью docker? Затем,что это поможет нам легко скачать и мгновенно запустить готовый LAMP или LAMP образ .Делая все это в ручную,вы безусловно усложните себе процесс установки Apache, СУБД MySQL/mariadb и программных РНР по одному. Допустим, вы Разработчик/тестер или любой случайный энтузиаст программного обеспечения, и вы хотите, проверить веб-приложения. Чтобы проверить веб-приложение, вы должны установить Apache/nginx и СУБД MySQL/mariadb и РНР (это то, что мы называем LAMP или LAMP стеки). Это очень трудоемкий процесс. Вот здесь Докер приходит на помощь.

Используя настройки, вы можете легко загрузить и установить предварительно настроенные приложения мгновенно, без особых хлопот, и начать использовать их в течение нескольких минут. Хорошо звучит? Так и должно быть.

Теперь, перейдем к теме. Эта статья покажет вам, как развернуть LAMP или LAMP стеки с помощью docker.

Развертывание LAMP / LAMP стеков, используя Докер

После установки настроек , как описано выше в ссылке, воспользуйтесь поиском готовых LAMP / LAMP стеков.

Для этого выполните:

 $ sudo docker search lamp 

Пример вывода:

 NAME DESCRIPTION STARS OFFICIAL AUTOMATED
 reinblau/lamp Dockerfile for PHP-Projects with MySql client 17 [OK]
 dockie/lamp 6 [OK]
 nickistre/ubuntu-lamp LAMP server on Ubuntu 4 [OK]
 nickistre/ubuntu-lamp-wordpress LAMP on Ubuntu with wp-cli installed 4 [OK]
 nickistre/centos-lamp LAMP on centos setup 3 [OK]
 damienlagae/lamp Docker LAMP with supervisord 3 [OK]
 boolean93/lamp LAMP based on linode/lamp 2 [OK]
 drunomics/lamp 1 [OK]
 avatao/lamp LAMP base image 1 [OK]
 nickistre/ubuntu-lamp-xdebug LAMP on Ubuntu with xdebug installed 1 [OK]
 nickistre/centos-lamp-wordpress LAMP on CentOS setups with wp-cli installed 1 [OK]
 linuxconfig/lamp Automated build LAMP stack environment for... 1 [OK]
 greyltc/lamp a super secure, up-to-date and lightweight... 0 [OK]
 kazaoki/lamp fetching... 0 [OK]
 greyltc/lamp-gateone LAMP stack with gateone server & webdav 0 [OK]
 fauria/lamp Modern, developer friendly LAMP stack. Inc... 0 [OK]
 drunomics/lamp-memcached LAMP + Memcached base image. 0 [OK]
 rpawel/lamp Apache 2.4 + php5-fpm container 0 [OK]
 lioshi/lamp Docker image for LAMP + MySql under debian 0 [OK]
 nickistre/centos-lamp-xdebug LAMP on centos with xDebug 0 [OK]
 greyltc/lamp-aur LAMP stack (in Arch with php7) with AUR ac... 0 [OK]
 alledia/lamp General LAMP for our tests, based on phusi... 0 [OK]
 greatfox/lamp 0 [OK]
 cnrk/lamp LAMP stack Docker image. 0 [OK]
 grmanit/lamp Based on tutum/lamp with additional settin... 0 [OK]

Как вы видите из приведенного выше результата, существует много готовых LAMP стек образов, доступных для Arch Linux, в CentOS и Ubuntu. Изображения сортируются по рейтингу.

Кроме того, вы можете найти LAMP стек образы в Докер с помощью команды:

 $ sudo docker search lemp

Затем, скачаете Докер образы. Здесь, я собираюсь скачать образ  nickistre/ubuntu-lamp.

$ docker pull nickistre/ubuntu-lamp

Пример вывода:

Using default tag: latest
latest: Pulling from nickistre/ubuntu-lamp
faecf96fd5ab: Pull complete 
995977506e98: Pull complete 
efb63fb8dcb6: Pull complete 
a3ed95caeb02: Pull complete 
61626f5cc06d: Pull complete 
d42e54d21590: Pull complete 
4a32d1f581a1: Pull complete 
52f44a8dd6d0: Pull complete 
ce6c1074ae9e: Pull complete 
2fa559435609: Pull complete 
93a433221384: Pull complete 
521d09b9a2d1: Pull complete 
6222edddc59d: Pull complete 
8fa401b50efc: Pull complete 
683063a5d5e0: Pull complete 
1f87fa5088b3: Pull complete 
c5ee1c14048f: Pull complete 
Digest: sha256:e913d43c204b3cdb931156c1a680c712acfe8db531225ec7b9e4708fc7ebe93c
Status: Downloaded newer image for nickistre/ubuntu-lamp:latest 

Приведенная выше команда будет загружать LAMP стек в Ubuntu. Вы можете скачать LAMP -штабеля для других платформ, таких как CentOS, Arch Linux.

Кроме того, вы можете искать, загружать и разворачивать образы docker из Докер-концентраторов, где размещены тысячи самых популярных изображений.

Скачать docker изображения

Найдите LAMP-стек изображения и скачайте их.

Выберите Настройки изображения, чтобы просмотреть дополнительные детали, такие как: установка и как ими пользоваться.

Все загруженные изображения будут сохранены локально в файле /var/lib/docker/.В списке загруженных образов docker, выполните следующую команду:

$ docker images 

Пример вывода:

REPOSITORY TAG IMAGE ID CREATED SIZE
nickistre/ubuntu-lamp latest 5e750e4f49e4 2 days ago 633 MB
reinblau/lamp latest 2813b461f843 9 days ago 697.9 MB
hello-world latest 690ed74de00f 5 months ago 960 B

После загрузки изображения,установите настройки для Lamp-стека / LAMP, запустите их с помощью команды:

 $ docker run -it nickistre/ubuntu-lamp /bin/bash

После выполнения указанной выше команды, вы сможете автоматически войти в корневой веб каталог пользователя root’.

root@184851ac9ebd:/# 

Запустите службу Apache с помощью команды:

# service apache2 start 

Затем, сервис MySQL с помощью команды:

# service mysql start 

Нужно проверить работает ли сервис Apache. Чтобы сделать это, откройте веб-браузер и перейдите по ссылке http://container_IP/.

Чтобы найти IP-адреса, просто введите ‘ifconfig’ или ‘IP-адрес’ в Контейнерном терминале.

Вы должны увидеть тестовую страницу-сервера Apache.

Вы можете проверить версию Apache, MySQL и PHP с помощью команды:

# apache2 –v
# mysql –v
# php -v 

Стек Lamp в Ubuntu развернут. Теперь, вы можете начать разворачивать и тестировать веб-приложения.

Примечание для новичков :

Используйте docker для тестирования и разработки. Кроме того, не путайте Докер с другими средствами виртуализации. Докер не будет разворачивать Lamp-стеки или любые другие приложения непосредственно на вашей хост-системе. Чем именно будет заниматься докер: 1)установка гостевой ОС (мы называем его "контейнер"), 2) разворачивание стек Lamp внутри гостевой ОС. Технически, это то же самое, что и другие технологии виртуализации, но главным отличием являются методы виртуализации, такие как VirtualBox, KVM и VMware, гостевые системы (контейнеры), использование ядра хост-системы. Все гости будут эффективно совместно использовать ресурсы, такие как ЦП, ОЗУ, жесткого диска и сети и т. д вашего оригинального хост-компьютер. Надеюсь, вам теперь все ясно.

Оставить комментарий

Ваше мнение очень важно для нас! Обязательно выскажите Ваши мысли, пожелания и критику! Не стесняйтесь задавать вопросы. Скорее всего, ответ появится уже через 2-3 дня. Спасибо заранее.

Go to top