1. Docker
Wykorzystanie technologii docker w codziennej pracy na stanowisku developera
Prepared by:
Marek Milewski
Aurora Creation / Senior Magento Developer
m.milewski@auroracreation.com
2. Docker
Docker jest lekkim środowiskiem wirtualizacyjnym, zawiera narzędzia, które
umożliwiają podział naszego środowiska na niezależne komponenty
(kontenery), oraz:
● Zarządzanie kontenerami, i obrazami kontenerów
● Pobieranie gotowych obrazów
● Budowanie własnych obrazów oraz ich publikowanie
3. Docker Hub
Zawiera ponad 100,000 gotowych do użycia obrazów kontenerów, z których
możemy skorzystać, lub dostosować je do własnych potrzeb.
● Serwery: nginx, apache, node ...
● Języki programowania: PHP, Java, Ruby ...
● Systemy operacyjne: alpine, ubuntu, centOS, debian ...
● Bazy danych: mysql, postgres, mongo ...
● Silniki wyszukiwania: Sphinx, Elastic Search ...
● Systemy cache: Redis, Varnish ...
● Frameworki i aplikacje: Symfony, Zend, Laravel, Magento, Wordpress, Gitlab, Selenium ...
4. Obrazy kontenerów Dockera
● Zazwyczaj bazują na jakiejś lekkiej dystrybucji linuxa
● Zazwyczaj mamy możliwość pobrania dowolnej wersji, która jest nam potrzebna
docker pull [nazwa obrazu], [nazwa obrazu]:[tag]
docker pull ubuntu
docker pull ubuntu:16.04
docker images
docker rmi [nazwa lub id obrazu]
docker rmi ubuntu
5. DockerFile - własny obraz
Możemy budować własne obrazy, lub rozbudowywać już istniejące.
FROM php:7.2.13-fpm
RUN DEBIAN_FRONTEND=noninteractive apt-get -y --force-yes install nano mc
curl
RUN pecl install xdebug-2.6.1
RUN docker-php-ext-enable xdebug
RUN echo "zend_extension = /usr/local/lib/php/extensions/no-debug-non-zts-
20170718/xdebug.so" >> /usr/local/etc/php/conf.d/xdebug.ini
RUN curl -sS https://getcomposer.org/installer | php && mv composer.phar
/usr/local/bin/composer
6. DockerFile - komendy
● FROM - nazwa obrazu na podstawie którego tworzymy nasz własny obraz
● RUN - uruchomienie komendy w obrazie
● EXPOSE - wystawienie portu kontenera na zewnątrz
● ENV - definiowanie zmiennej środowiskowej
● ADD - skopiowanie plików z naszego hosta do obrazu
● WORKDIR - katalog roboczy do którego nastąpi przejście po uruchomieniu kontenera
● ENTRYPOINT - operacje jakie mają zajść w kontenerze po jego uruchomieniu
docker build mmilewski/php-xdebug:7.2.13 -f PHP-DockerFile .
docker push mmilewski/php-xdebug:7.2.13