강의
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 |