├── 01_FLASK_DOCKER # 여기서 docker-compose up -d
│ ├── Dockerfile
│ ├── main.py
│ └── .dockerignore
└── docker-compose.yml
파일 작성
.dockerignore 작성 예시
#Dockerfile은 COPY에서 제외
Dockerfile
# 주석
*/flask*
flask?
*.txt
!flask.txt
- ? 는 한글자를 의미
- ! 를 쓰면 해당 조건 제외
docker-compose.yml
version: "3"
services:
app:
build:
context: ./01_FLASK_DOCKER
dockerfile: Dockerfile
links:
- "db:mysqldb"
ports:
- "80:8080" # flask 서버 포트가 8080
container_name: appcontainer
depends_on: # 해당 컨테이너보다 먼저 생성되어야 할 컨테이너 목록
- db
db:
image: mysql:5.7
restart: always
volumes:
- ./mysqldata:/var/lib/mysql
environment:
- MYSQL_ROOT_PASSWORD=123456789
- MYSQL_DATABASE=fundb
ports:
- "3306:3306"
container_name: dbcontainer
Dockerfile
FROM continuumio/miniconda
# 현재 폴더의 main.py를 컨테이너의 /app에 카피하도록
COPY ./ /app
# 작업 폴더는 /app 으로
WORKDIR /app
RUN pip install flask pymysql cryptography
CMD ["python", "main.py"]
실행 및 기타 명령