데브코스 TIL/Docker

Docker Network

예니ㅣ 2023. 12. 21. 16:10

강의

Docker Network

"Docker Network"는 다수의 컨테이너가 존재하는 소프트웨어를 실행할 때 컨테이너 간에 연결을 이어주는 기능 입니다.

 

연결 상황에 따라 별개의 네트워크를 만들어 사용할 수 있습니다.

  • back-tier
  • front-tier

 


실습

Voting application

  • vote, result, worker Container 존재
git clone https://github.com/dockersamples/example-voting-app.git
# vote/app.py

def get_redis():
    if not hasattr(g, 'redis'):
        g.redis = Redis(host="redis", db=0, socket_timeout=5)
    return g.redis
// result/server.js

var pool = new Pool({
  connectionString: 'postgres://postgres:postgres@db/postgres'
});
/* worker/Program.cs */

var pgsql = OpenDbConnection("Server=dv;Username=postgres;Password=postgres;");
var redisConn = OpenRedisConnection("redis");

 

Network 기본 형태 구현

  • Docker Network 사용
# redis : 공식 이미지
# postgres : 공식 이미지
docker build -t vote ./vote
docker build -t result ./result
docker build -t worker ./worker
docker container rm -f $(docker container ls -aq)
docker image rm -f $(docker image ls -q)
docker network create mynetwork

docker run -d --name=redis --network mynetwork redis
docker run -d -e POSTGRES_PASSWORD=password --name=db --network mynetwork postgres
docker run -d --name=vote -p 5001:80 --network mynetwork vote
docker run -d --name=result -p 5002:80 --network mynetwork result
docker run -d --name=worker --network mynetwork worker

 

'데브코스 TIL > Docker' 카테고리의 다른 글

Docker: Airflow 실행  (1) 2023.12.21
Docker Compose  (0) 2023.12.21
Docker Volume  (0) 2023.12.21
Docker 명령  (0) 2023.12.21
Docker: Web Service 실행  (1) 2023.12.20