데브코스 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