6 skyrius · 6.2
Jūsų darbo aplankas su compose.yaml, .env ir Caddy
Naudodami docker compose visus savo konteinerius aprašote viename faile. Šiame vadove visos programos yra aplanke /srv/diensten, o Caddy veikia kaip įėjimo durys, kurios kiekvienai programai užtikrina https. 7 skyriaus receptai čia vis prideda po nedidelę dalį. Kaip compose ir užkarda veikia kartu, galite perskaityti VPS ir Linux serverių administravimo kurso straipsnyje Docker compose ir užkarda.
Aplankas ir failai
anna@web1:~$ sudo mkdir -p /srv/diensten
anna@web1:~$ cd /srv/diensten
anna@web1:/srv/diensten$ sudo nano compose.yaml
Pradėkite tik nuo Caddy:
services:
caddy:
image: caddy:2
restart: unless-stopped
ports:
- "80:80"
- "443:443"
- "443:443/udp"
volumes:
- ./Caddyfile:/etc/caddy/Caddyfile:ro
- caddy-data:/data
- caddy-config:/config
volumes:
caddy-data:
caddy-config:
Ir Caddyfile tame pačiame aplanke:
{
email beheer@example.com
}
Eilutės version: viršuje nebereikia; ją dar galite pamatyti senuose pavyzdžiuose.
Paleidimas ir peržiūra
anna@web1:/srv/diensten$ sudo docker compose up -d
anna@web1:/srv/diensten$ sudo docker compose ps
anna@web1:/srv/diensten$ sudo docker compose logs -f caddy
up -d paleidžia viską fone. Paspaudę Ctrl+C nustojate stebėti žurnalus; konteineriai toliau veikia. Jei pakeičiate Caddyfile, iš naujo jį įkelkite komanda:
anna@web1:/srv/diensten$ sudo docker compose exec -w /etc/caddy caddy caddy reload
Paslaptys .env faile
Slaptažodžių ir prieigos raktų (tokenų) nerašykite į compose.yaml, o laikykite juos faile .env tame pačiame aplanke. Faile compose.yaml į juos nurodote su ${NAAM}.
anna@web1:/srv/diensten$ sudo nano .env
anna@web1:/srv/diensten$ sudo chmod 600 .env
Niekada nekelkite .env į Git ir juo nesidalykite.
Caddy jau veikia kaip paslauga Jūsų serveryje?
Jei įdiegėte Caddy arba nginx, kaip aprašyta 5 skyriuje, 80 ir 443 prievadai jau užimti. Pasirinkite vieną iš dviejų būdų:
- Išjunkite paslaugą serveryje (
sudo systemctl disable --now caddyarbanginx) ir perkelkite savo svetaines į Caddyfile aplanke/srv/diensten. Būtent tai numato receptai. - Arba palikite paslaugą serveryje, nenaudokite Caddy compose faile ir kiekvieną programą skelbkite tik adresu
127.0.0.1(žr. Docker ir užkarda: kaip saugiai publikuoti prievadus). Tada kiekvienai programai sukuriate reverse proxy, kaip aprašyta Programėlė už atvirkštinio tarpinio serverio.
