Problem & Solution
run docker คนละ script กันทำยังไงให้ แต่ละ containner รู้จักกันโดยไม่ใช้ IP
สร้าง network
ให้ containner ต่อ network เดียวกัน
Ex.
APP1
version: '3.4'
services:
nginx:
image: nginx
container_name: nginx
networks:
- load-balancer
volumes:
- ${PWD}/default.conf:/etc/nginx/conf.d/default.conf:ro
build:
context: .
dockerfile: ./Dockerfile
ports:
- "8888:80"
networks:
load-balancer:
driver: bridge
name: server_load_balancer
APP2
version: '3.4'
services:
weblinkauthenv2:
image: weblinkauthenv2
networks:
- server_load_balancer
container_name: weblinkauthen
build:
context: .
dockerfile: ./Dockerfile
environment:
NODE_ENV: production
ports:
- 5001:5001
env_file:
- prod.env
networks:
server_load_balancer:
external: true
APP1 จะสร้าง network ชื่อ server_load_balancer แล้วกำหนด network ของ containner เป็น server_load_balancer APP2 จะ import network server_load_balancer เข้ามา แล้วกำหนด network ของ containnerเป็น server_load_balancer
ทีนี้เวลาเรียกใช้สามารถใช้ชื่อ containner แทน ip ได้เลย เช่น weblinkauthen, nginx ต้องเรียกภายใน network เดียวกันเท่านั้น
Last updated