Category Archives: docker
Разворачиваем 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, гостевые системы (контейнеры), использование ядра хост-системы. Все гости будут эффективно совместно использовать ресурсы, такие как ЦП, ОЗУ, жесткого диска и сети и т. д вашего оригинального хост-компьютер. Надеюсь, вам теперь все ясно.
Removing Docker Images
Remove one or more specific images
Use the docker images
command with the -a
flag to locate the ID of the images you want to remove. This will show you every image, including intermediate image layers. When you’ve located the images you want to delete, you can pass their ID or tag to docker rmi
:
List:
docker images -a
Remove:
docker rmi Image Image