docker
Rozdíly
Zde můžete vidět rozdíly mezi vybranou verzí a aktuální verzí dané stránky.
| Obě strany předchozí revizePředchozí verzeNásledující verze | Předchozí verze | ||
| docker [2022/03/11 14:02] – [Ladění] djbuldog | docker [2025/08/28 10:09] (aktuální) – upraveno mimo DokuWiki 127.0.0.1 | ||
|---|---|---|---|
| Řádek 9: | Řádek 9: | ||
| * img lze odstranit přes '' | * img lze odstranit přes '' | ||
| * pokud je na image navázán nějaký kontejner, je třeba přidat force přes '' | * pokud je na image navázán nějaký kontejner, je třeba přidat force přes '' | ||
| + | * skládá se z layers, které jsou za sebou formou inkrementů | ||
| * container | * container | ||
| * instance image | * instance image | ||
| Řádek 27: | Řádek 28: | ||
| * skript popisující jak sestavit vlastní obraz | * skript popisující jak sestavit vlastní obraz | ||
| * image se vytvoří přes '' | * image se vytvoří přes '' | ||
| + | * každý krok/ | ||
| + | * shlukovat RUN příkazdy jen do jednoho RUN | ||
| + | * dělat nejprve statické akce, aby šlo při dalším buildu využívat předchozí layers | ||
| + | * například použít COPY dynamických souborů až po RUN instalaci balíčků přes apt | ||
| + | * bacha, že RUN apt update se vlastně bere jako statický a cachuje se | ||
| + | * další info v [[https:// | ||
| + | * pro build a produkční img se hodí používat [[https:// | ||
| * docker-compose.yml | * docker-compose.yml | ||
| * popisuje jak vytvořit více kontejnerů najednou | * popisuje jak vytvořit více kontejnerů najednou | ||
| * zpracovává docker-compose napsaný v python (pip install docker-compose) | * zpracovává docker-compose napsaný v python (pip install docker-compose) | ||
| + | * entrypoint | ||
| + | * definuje, co je proces s PID 1 při spuštění kontejneru | ||
| + | * pokud není definován, použjije se ''/ | ||
| + | * COMMAND slouží jako další parametr k entrypoint. U default entry point jde tedy o ''/ | ||
| + | * pokud je třeba spustit složitější systém, s vlastním cronem a tak.. pouští se většinou ''/ | ||
| ===== Komunikace mezi kontejnery ===== | ===== Komunikace mezi kontejnery ===== | ||
| - | * přes klasický socket | + | * docker má 3 předdefinované sítě, které lze nastavit kontejneru |
| - | * jeden kontejner | + | * **none** - kontejner |
| - | * je potřeba | + | * **bridge** (výchozí) |
| - | * s využitím '' | + | * kontejner může komunikovat |
| - | * pokud běží oba kontejnery | + | * Pokud je potřeba |
| - | * při spouštění kontejneru1 se zadaným link na běžící kontejner2 se do env kontejneru1 nastaví informace o kontejneru2 (jeho IP, otevřené porty, ...) | + | * Každý kontejner má virtuální IP adresu, |
| - | + | * **host** | |
| - | < | + | * kontejner sdílí síťové rozhraní s hostem. Všechny porty kontejneru se otevírají přímo na hostu. |
| - | root@baridell:/ | + | * Žádná izolace. |
| - | PATH=/ | + | * Mohou nastávat konflikty portů různých kontejnerů. |
| - | HOSTNAME=4c5bf135fdbe | + | * Pro komunikaci se používá IP/hostname hosta. |
| - | HOME=/ | + | |
| - | </ | + | |
| - | + | ||
| - | < | + | |
| - | root@baridell:/ | + | |
| - | PATH=/ | + | |
| - | HOSTNAME=738ad8b05c57 | + | |
| - | RUN1_PORT=tcp:// | + | |
| - | RUN1_PORT_80_TCP=tcp:// | + | |
| - | RUN1_PORT_80_TCP_ADDR=172.17.0.2 | + | |
| - | RUN1_PORT_80_TCP_PORT=80 | + | |
| - | RUN1_PORT_80_TCP_PROTO=tcp | + | |
| - | RUN1_NAME=/boring_kirch/ | + | |
| - | HOME=/ | + | |
| - | </ | + | |
| ===== Volume kontejnery ===== | ===== Volume kontejnery ===== | ||
| Řádek 86: | Řádek 84: | ||
| docker run -it --rm --volumes-from mujdatacont debian bash | docker run -it --rm --volumes-from mujdatacont debian bash | ||
| </ | </ | ||
| + | |||
| + | ===== Časovače ===== | ||
| + | |||
| + | * a) sleep v dockeru | ||
| + | * kontejner trvale běží, ve sleepu | ||
| + | * b) cron na hostu | ||
| + | * c) suystemd timer na hostu | ||
| + | * d) scheduler kuberneties | ||
| + | |||
| + | ===== HTTPS routování ===== | ||
| + | |||
| + | * dělá se přes reverzní HTTPS proxy | ||
| + | * obecně se nejčastěji používá | ||
| + | * Traefik - docker prostředí, | ||
| + | * NGINX - obecně často použivané, | ||
| + | * HAProxy | ||
| + | * Apache/ | ||
| ===== Příklady ===== | ===== Příklady ===== | ||
| Řádek 132: | Řádek 147: | ||
| * bacha, po CTRL+C se container ukončí | * bacha, po CTRL+C se container ukončí | ||
| * detach se dělá přes ctrl-p ctrl-q | * detach se dělá přes ctrl-p ctrl-q | ||
| + | * přes '' | ||
| + | * '' | ||
| ===== Zdroje ===== | ===== Zdroje ===== | ||
| * https:// | * https:// | ||
| * https:// | * https:// | ||
docker.1647003734.txt.gz · Poslední úprava: (upraveno mimo DokuWiki)
