Nodaļa 6 · 6.2
Jūsu darba mape ar compose.yaml, .env un Caddy
Ar docker compose Jūs aprakstāt visus savus konteinerus vienā failā. Šajā rokasgrāmatā visas lietotnes atrodas mapē /srv/diensten, un Caddy darbojas kā ieejas durvis, kas katrai lietotnei nodrošina https. Receptes 7. nodaļā šeit katru reizi pievieno kādu nelielu daļu. Kā compose un ugunsmūris darbojas kopā, varat izlasīt rakstā Docker compose un ugunsmūris kursā par VPS un Linux serveru pārvaldību.
Mape un faili
anna@web1:~$ sudo mkdir -p /srv/diensten
anna@web1:~$ cd /srv/diensten
anna@web1:/srv/diensten$ sudo nano compose.yaml
Sāciet tikai ar 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:
Un Caddyfile tajā pašā mapē:
{
email beheer@example.com
}
Rinda version: faila augšdaļā vairs nav nepieciešama; to vēl var redzēt vecos piemēros.
Palaišana un apskate
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 palaiž visu fonā. Ar Ctrl+C Jūs pārtraucat žurnālu sekošanu; konteineri turpina darboties. Ja maināt Caddyfile, ielādējiet to no jauna ar:
anna@web1:/srv/diensten$ sudo docker compose exec -w /etc/caddy caddy caddy reload
Noslēpumi failā .env
Paroles un tokenus neievietojiet failā compose.yaml, bet gan failā .env tajā pašā mapē. Failā compose.yaml uz tiem atsaucieties ar ${NAAM}.
anna@web1:/srv/diensten$ sudo nano .env
anna@web1:/srv/diensten$ sudo chmod 600 .env
Nekad neievietojiet .env Git un nedalieties ar to.
Caddy jau darbojas kā pakalpojums Jūsu serverī?
Ja esat instalējis Caddy vai nginx, kā aprakstīts 5. nodaļā, tad porti 80 un 443 jau ir aizņemti. Izvēlieties vienu no diviem variantiem:
- Izslēdziet pakalpojumu serverī (
sudo systemctl disable --now caddyvainginx) un pārceliet savas vietnes uz Caddyfile mapē/srv/diensten. To pieņem receptes. - Vai arī atstājiet pakalpojumu serverī, neiekļaujiet Caddy compose failā un publicējiet katru lietotni tikai uz
127.0.0.1(skatiet Docker un ugunsmūris: kā droši publicēt portus). Tad katrai lietotnei izveidojiet reverse proxy, kā aprakstīts Lietotne aiz reversā starpniekservera.
