Bežiaca aplikácia.
Ako upraviť aplikáciu aby bežala na cloude?
Každá aplikácia má svoje závislosti na nižších vrstvách:
Zmena HW, LIB alebo OS si vyžaduje zmenu aplikácie.
Príklad na vrstvy:
Dockerfile sú inštrukcie ako zostaviť obraz.
FROM dockerfile/ubuntu
RUN \
add-apt-repository -y ppa:nginx/stable && \
apt-get update && \
apt-get install -y nginx && \
rm -rf /var/lib/apt/lists/* && \
echo "\ndaemon off;" >> /etc/nginx/nginx.conf && \
chown -R www-data:www-data /var/lib/nginx
WORKDIR /etc/nginx
CMD ["nginx"] # Define default command.
Má v sebe zakódované
docker build . -t myregistry.tuke.sk/mynginx:0.1
|-----------------|-------|---|
registry image tag
Centrálny repozitár Dockerhub alebo vlastný register
docker run nginx
na pozadí
docker run -it --rm nginx
s konzolou
+----------+
| Registry |
+----------+
| Pull
v
+--------+
| Image |
+--------+
| Run
v
+-----------+
| Container |
+-----------+
Vidí virtuálne zariadenia
Kontajner vidí "svoju" sieť.
docker run -it --rm -p 8000:80 nginx
^ ^
| |
hostiteľ kontajner
docker run -p 80:80 -v /var/www:/var/www nginx
Mapovanie medzi reálnym a virtuálnym adresárom.
+-----------------+
| Operačný systém |
+-----------------+
| build
+-----------+
| Aplikácia |-----------+------------------+
+-----------+ | |
| OverlayFS | Config | Volume
+----------------+ +---------------+ +----------------+
| Dočasné súbory | | Konfigurácia | | Stav aplikácia |
+----------------+ +---------------+ +----------------+
časť súborového systému ktorá sa mení a ktorá je podstatná aj po reštarte, napr. databáza
Vieme pripojiť existujúcu lokálnu zložku do nového kontajnera
Pripojenie aktuálneho adresára:
docker run -it --rm -v .:/home/user bash
docker volume create myvolume
docker run -it --rm -v myvolume:/myvolume bash