Docker alapok
Docker image-ek készítését és néhány dockert kezelő parancsot nézünk meg ebben a leírásban. |
|
A konténerekbe nem ajánlott konfigokat és adatokat tenni, mivel a leállítás után megszűnik a konténer tartalma teljesen. Debian-ra fogunk telepíteni. Docker telepítése: # apt install apt-transport-https ca-certificates curl gnupg2 software-properties-common # curl -fsSL https://download.docker.com/linux/debian/gpg | apt-key add - # add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/debian $(lsb_release -cs) stable" # apt-get update # apt-get install docker-ce De ha a docker.io megfelelő számunkra akkor kiadhatjuk ezt is a fentiek helyett: # apt-get install docker.io Ellenőrizhetjük, hogy fut-e a docker: # systemctl status docker Adjuk hozzá a felhasználónkat: # usermod -aG docker aktualisfelhasznalo Infókat ad vissza pl futó konténerek száma image-ek száma stb: # docker info Keresés a csomagok között: # docker search ubuntu Lehúzzuk a kiválasztott csomagot: # docker pull ubuntu Letöltött vagy készített csomagok listája: # docker images Konténer indítás: # docker run -it ubuntu Aktuálisan futó konténerek: # docker ps Összes konténer és a már a leálltak is látszanak: # docker ps -a Utoljára indított konténer: # docker ps -l Konténer leállítása: # docker stop ubuntu Konténer törlése leállítás után: # docker rm ubuntu Indítás daemon módban # docker start ubuntu Amennyiben szükségünk van a konténerbe bejelentkezni: # docker exec -it ubuntu sh Készíthetünk saját egyedi image-eket. Ebben a példában egy ubuntu linuxos apache-php image fájlt hozunk létre. Készítsünk egy fájlt Dockerfile néven, a következő példa tartalommal: #Download base image ubuntu 16.04 FROM ubuntu:16.04 # Install apache, PHP, and supplimentary programs. openssh-server, curl, and lynx-cur are for debugging the container. RUN apt-get update && apt-get -y upgrade && DEBIAN_FRONTEND=noninteractive apt-get -y install \ apache2 php7.0 php7.0-mysql libapache2-mod-php7.0 curl lynx-cur # Enable apache mods. RUN a2enmod php7.0 RUN a2enmod rewrite # Update the PHP.ini file, enable <? ?> tags and quieten logging. RUN sed -i "s/short_open_tag = Off/short_open_tag = On/" /etc/php/7.0/apache2/php.ini RUN sed -i "s/error_reporting = .*$/error_reporting = E_ERROR | E_WARNING | E_PARSE/" /etc/php/7.0/apache2/php.ini # Manually set up the apache environment variables ENV APACHE_RUN_USER www-data ENV APACHE_RUN_GROUP www-data ENV APACHE_LOG_DIR /var/log/apache2 ENV APACHE_LOCK_DIR /var/lock/apache2 ENV APACHE_PID_FILE /var/run/apache2.pid RUN mkdir -p /run/php && chown -R www-data:www-data /var/www/html && chown -R www-data:www-data /run/php # Volume configuration VOLUME ["/etc/apache2/sites-enabled", "/etc/apache2/certs", "/etc/apache2/conf.d", "/var/log/apache2", "/var/www/html"] # Expose apache. EXPOSE 80 # Update the default apache site with the config we created. ADD apache-config.conf /etc/apache2/sites-enabled/000-default.conf # By default start up apache in the foreground, override with /bin/bash for interative. CMD /usr/sbin/apache2ctl -D FOREGROUND Hozzuk létre az apache-config.conf fájlt és tetszőleges beállításokat írhatunk bele, ami majd belekerül az image-be. Ha mindennel készen vagyunk akkor készítsünk image-et: # docker build -t apache_image . Konténer indítás, -v volume mappa elérési útja, --name a konténer neve amire hivatkozunk később, utolsó paraméter az image amiből indítjuk a konténert: # docker run -d -v /webroot:/var/www/html -p 80:80 --name ujkontener apache_image Volume lista és egy volume beállításait listázhatjuk: # docker volume ls Nemhasznált volume-ok törlése: # docker volume prune Objektumok tulajdonságait listázhatjuk: # docker inspect 1c59d5b7e90e9173ca30a7fcb6b9183c3f5a37bd2505ca78ad77cf4062bd0465 # docker inspect ubuntu Használatban levő image-ek: # docker images ls Összes image listázása: # docker images -a Egy image törlése: # docker rmi apache_image Nem használt image-ek törlése: # docker image prune -a Olvasnivaló: https://docs.docker.com/ https://www.digitalocean.com/community/tutorials/how-to-install-and-use-docker-on-debian-9 https://www.howtoforge.com/tutorial/how-to-create-docker-images-with-dockerfile/#step-create-dockerfile https://writing.pupius.co.uk/apache-and-php-on-docker-44faef716150 https://hup.hu/node/152342 |
2019.05.28. |
Figyelem! Az itt olvasható leírások, nem teljesek és nem biztos, hogy pontosak. Nem
frissülnek folyamatosan, ezért nem mindegyik használható az aktuális verziójú rendszerekben. Mindenki saját
felelősségére használja az itt található ötleteket. Az esetleges károkért nem vállalunk felelősséget.