Docker

KuDr42X_ITXghJhSInDZekNEF0jLt3NeVxtRye3tqco

Когда-то я уже писал о контейнерах в линуксе. Тогда же я смотрел и docker, но не проникся. Некоторое время назад мне попалась на глаза книга Orchestrating Docker и я решил, что стоит вникнуть. Вникание прошло успешно, идея мне очень понравилась и я начал понемногу переносить все с ESX, который стоит на моем стареньком сервачке, в контейнеры. Тут я могу долго описывать как это все круто, но думаю информацию о плюсах этой технологии можно почитать в интернете. Лично мне понравилось независимость процессов между собой, автоматическая перезагрузка процессов в случае их падения и простота бекапа. К примеру для бекапа сайта, нужно сохранить несколько текстовых файлов(помимо контента и базы) и развернуть потом из этого бекапа дело минут. Достаточно взять файл Dockerfile с примерно таким содержанием.

FROM ubuntu
RUN dpkg-divert --local --rename --add /sbin/initctl
RUN ln -sf /bin/true /sbin/initctl
ENV DEBIAN_FRONTEND noninteractive
RUN apt-get update
RUN apt-get -y install apache2 pwgen python-setuptools curl git unzip php5-curl php5-gd php5-intl php-pear \
    php5-imagick php5-imap php5-mcrypt php5-memcache php5-ming php5-ps php5-pspell php5-recode\
    php5-sqlite php5-tidy php5-xmlrpc php5-xsl libapache2-mod-auth-mysql php5-mysql php5 libapache2-mod-php5 
ADD ./000-default.conf /etc/apache2/sites-enabled
RUN a2enmod rewrite

и запустить команду docker build -t inotkaa/wordpress .

и собственно после того как контейнер соберется, просто его запустить.

docker run -p 81:80 -d -v /opt/inot.pro:/var/www/html —restart=always —name inot.pro —link mysql_inot.pro:db001.local inotkaa/wordpress /usr/sbin/apache2ctl -D FOREGROUND

Естественно за этими командами стоит какой-то бекграунд, за которым я провел несколько часов, но в итоге все достаточно просто и быстро. Сейчас на ESX у меня остается всего пара тройка мало нужных задач, которые я в ближайшем будущем тоже перетащу в контейнеры. Еще один из плюсов это минимальные требования к железу, т.к. в контейнере по мимо задачи, которая там крутиться, больше ничего нет и издержки виртуализции, когда нужно держать целую виртуальную машину с системными процессами, скажет для сервера TeamSpeak, отходят на второй план.

Да и в общем все это было достаточно интересно изучить и потрогать.

 

 

Добавить комментарий