728x90
반응형
SMALL
도커 컴포즈 (Docker Compose)
도커 컴포즈 (docker compose)는 여러 개의 컨테이너를 가동할 때 사용하는 도커 어플리케이션이다. 도커 컴포즈를 사용하기 위해 docker-compose.yml이라는 YAML 파일을 사용한다.
sudo apt-get update
sudo apt-get install docker-compose-plugin
docker compose version
flasktest 디렉토리
vim requirements.txt
scikit-learn==1.5.0
flask==3.0.3
psycopg2==2.9.9
gunicorn==22.0.0
vim Dockerfile
FROM python:3.11.9
WORKDIR /usr/src/app
COPY . .
RUN python -m pip install --upgrade pip
RUN pip install -r requirements.txt
WORKDIR ./myapp
CMD gunicorn main:app --bind 0.0.0.0:5000
EXPOSE 5000
nginx 디렉토리
vim default.conf
server{
listen 80;
server_name localhost;
location /{
proxy_pass http://flasktest:5000;
}
}
vim Dockerfile
FROM nginx:1.26.0
RUN rm /etc/nginx/conf.d/default.conf
COPY default.conf /etc/nginx/conf.d/
CMD ["nginx", "-g", "daemon off;"]
docker-compose.yml 작성
docker 디렉토리에서 도커 컴포즈를 작성한다.
vim docker-compose.yml
services:
flasktest:
build: ./flaskapp
networks:
- composenet01
restart: always
nginxtest:
build: ./nginxtest
networks:
- composenet01
ports:
- "80:80"
depends_on:
- flasktest
networks:
composenet01:
도커 이미지 빌드 및 컨테이너 가동
docker compose up -d --build
docker container ls
docker network ls
접속 확인
기본 포트가 80이므로 입력하지 않아도 된다.
# window
curl -d "{""input"":[""0.3""]}" -H "Content-Type: application/json" -X POST http://퍼블릭 IP/predict
# mac
curl -d '{"input":["0.3"]}' -H "Content-Type: application/json" -X POST http://퍼블릭 IP/predict
컨테이너 정지
docker compose down
728x90
반응형
LIST
'App Programming > AWS' 카테고리의 다른 글
[AWS] 도커 PostgreSQL 배포 (0) | 2024.06.11 |
---|---|
[AWS] 도커 컨테이너 nginx 배포 (0) | 2024.06.11 |
[AWS] 도커 컨테이너 배포 (0) | 2024.06.11 |
[AWS] Flask에 PostgreSQL 적용 (0) | 2024.05.31 |
[AWS] PostgreSQL 설치 (0) | 2024.05.31 |