ในที่นี้เราจะใช้ NGINX Proxy ในการจัดการ Proxy ให้เรา โดยมีวิธีการติดตั้งดังนี้
- สร้าง docker network
-
สร้างไฟล์ docker-compose.yml โดยใช้ไฟล์ตั้งต้นจาก https://github.com/jwilder/nginx-proxy/blob/master/docker-compose.yml
- เพิ่ม code ข้างล่าง ใน docker-compose.yml ของ nginx-proxy
- รัน nginx-proxy ด้วยคำสั่งดังนี้
1 | docker network create nginx-proxy |
1 2 3 4 | networks: default: external: name: nginx-proxy |
1 | docker-compose up -d |
สมมติว่า เราต้องการรัน docker wordpress ที่เป็นเว็บใหม่บนเครื่อง server เรามีวิธีการดังนี้
- สร้างไฟล์ docker-compose.yml ตาม https://docs.docker.com/compose/wordpress/
- เพิ่ม VIRTUAL_HOST ที่เป็น Domain ของเว็บที่ใช้เรียกเข้ามา และ VIRTUAL_PORT ที่เป็น Port ที่สั่ง expose ออกมา ในส่วนของ Environment ของ service wordpress ใน docker-compose.yml ดังนี้12
VIRTUAL_HOST: example.com
VIRTUAL_PORT: 80
- เพิ่มการตั้งค่า docker network ใน docker-compose.yml ดังนี้
- รัน wordpress ด้วยคำสั่งดังนี้
1 2 3 4 | networks: default: external: name: nginx-proxy |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 | version: '3.3' services: db: image: mysql:5.7 volumes: - db_data:/var/lib/mysql restart: always environment: MYSQL_ROOT_PASSWORD: somewordpress MYSQL_DATABASE: wordpress MYSQL_USER: wordpress MYSQL_PASSWORD: wordpress wordpress: depends_on: - db image: wordpress:latest ports: - "8000:80" restart: always environment: WORDPRESS_DB_HOST: db:3306 WORDPRESS_DB_USER: wordpress WORDPRESS_DB_PASSWORD: wordpress WORDPRESS_DB_NAME: wordpress VIRTUAL_HOST: example.com VIRTUAL_PORT: 80 volumes: db_data: {} networks: default: external: name: nginx-proxy |
1 | docker-compose up -d |
หมายเหตุ ในกรณีนี้เราต้องตั้งค่า DNS ของ domain ของเว็บเราให้ชี้มาที่เครื่อง server แล้ว
No comments:
Post a Comment