ไม่ได้อยู่ในที่เก็บนักเทียบท่า แต่ใช่ในที่เก็บนักเทียบท่า
ในขณะที่คุณทำได้ - ตามทฤษฎี - รวบรวมสภาพแวดล้อม dev ทั้งหมดของคุณไว้ในที่เดียว
แต่คุณควรปรับใช้แต่ละบริการลงในภาชนะที่แยกต่างหากโดยใช้นักเขียนประกอบจัดการโครงสร้างพื้นฐานทั้งหมดของคุณในไฟล์เดียวโดยที่แต่ละบริการจะมี logfile, userpace, ระบบเครือข่าย ฯลฯ
ขอยกตัวอย่างนี่เป็นร่างของฉัน 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
มีพร็อกซี nginx (myproxy), สองฐานข้อมูล postgres ที่คล้ายกัน (mydb1 และ 2), เซิร์ฟเวอร์แอปพลิเคชันเว็บ Java เก่า (www), คอนเทนเนอร์ java jetty ที่ให้บริการเว็บพักผ่อนและสุดท้ายเป็นคอนเทนเนอร์ Postfix SMTP ที่ง่ายมาก
ทุกอย่างเริ่มต้นขึ้น - โดยปกติ :) - ด้วยdocker-compose up
ไม่ว่าจะเป็นบนเครื่อง dev หรือในการผลิต ล็อกไฟล์จะถูกรวมเป็นไฟล์เดียวที่อ่านง่ายและเป็นไปได้ที่จะทำซ้ำภายในเครื่องเกือบทุกฟังก์ชั่นด้วยการรับประกันว่าถ้ามันทำงานบนแล็ปท็อปของฉันมันจะทำงาน