tidak dalam satu wadah buruh pelabuhan tetapi ya dalam wadah buruh pelabuhan.
Meskipun Anda dapat - secara teoritis - merakit seluruh lingkungan dev Anda di dalam satu wadah tunggal, buruh pelabuhan tidak dimaksudkan untuk melakukan ini.
Alih-alih, Anda harus menggunakan setiap layanan ke dalam wadah terpisah, menggunakan komposisi buruh pelabuhan , mengelola seluruh infrastruktur Anda dalam satu file tunggal, di mana setiap layanan akan memiliki file log, ruang pengguna, jaringan, dll.
Biarkan saya memberi Anda sebuah contoh, ini adalah konsep saya docker-compose.yml
version: '2'
services:
myproxy:
build: myproxy
container_name: ppproxy
ports:
- "80:80"
- "443:443"
volumes:
- /var/run/docker.sock:/tmp/docker.sock:ro
networks:
default:
aliases:
- www.domain1.it
- www.domain2.it
- www.domain4.it
mydb1:
build: mydb
environment:
DB_USER: sdffdssdf
DB_PASSWORD: fdsfsdsdf
DB_NAME: dbanme1
DB_ENCODING: UTF-8
VIRTUAL_HOST: myhost1.net.lan
VIRTUAL_PORT: 5432
mydb2:
build: mydb
environment:
DB_USER: ssdfsdfs
DB_PASSWORD: sffdssd
DB_NAME: dbanme2
DB_ENCODING: UTF-8
VIRTUAL_HOST: myhost2.net.lan
VIRTUAL_PORT: 5432
www:
image: myimages/oldservice:v1.1
container_name: www
command: /bin/bash /root/launch
environment:
VIRTUAL_HOST: www.domain1.it
VIRTUAL_PORT: 80
ports:
- 80
depends_on:
- mydb1
- mydb1
- myws
myws:
build: myjettycontainer
environment:
HTTPS_METHOD: noredirect
VIRTUAL_HOST: www.domain2.it
VIRTUAL_PORT: 8080
ports:
- 8080
depends_on:
- mydb1
- mydb2
- myproxy
- mypostfix
mypostfix:
image: catatnight/postfix
container_name: mailer
environment:
maildomain: domain1.it
smtp_user: mymail:sfsfdfds
ports:
- 25
Ada proxy nginx (myproxy), dua database postgres serupa (mydb1 dan 2), server aplikasi web java lama (www), wadah java jetty yang menyediakan layanan web sisanya dan akhirnya wadah postfix SMTP yang sangat sederhana.
Semuanya dimulai - biasanya :) - dengan docker-compose up
, baik pada mesin dev saya atau dalam produksi; file log dikumpulkan menjadi satu file yang mudah dibaca dan dimungkinkan untuk mereplikasi secara lokal hampir setiap fungsionalitas dengan jaminan bahwa, jika berfungsi pada laptop saya, itu akan berfungsi.