내가 작성한 flask 웹 서버를 도커로 말아보려고 한다.
docker-compose를 사용할거지만 일단 dockerfile로만 해보는걸로
JUST Docker... not docker-compose
Dockerfile
FROM ubuntu:20.04
RUN apt-get update -y && apt-get upgrade -y python3 && apt-get install -y python3-pip
COPY . /web-server
WORKDIR /web-server
RUN pip3 install --upgrade pip && pip3 install -r requirements.txt
EXPOSE 5000
CMD ["python3", "run.py"]
sudo docker build --no-cache -t test1 . (docker image 생성)
(실패했을 경우) images, ps -a 통해서 다 지우고 다시 빌드하도록 한다.
sudo docker run --name test1-container test1 (컨테이너 생성)
[**]
docker build, run의 자세한 옵션들과 명령어들은 찐으로 빌드할 때 제대로 알도록 한다.
지금은 일단 되는 거 봤으니까 패스
로컬의 내 프로젝트 + redis by docker
flask에서 디비로 MySQL을 쓰지만 이것은 원격 DB라 따로 설치할 필요가 없다.
하지만 redis는 귀찮아서 원격으로 안한 탓에 따로 설치해야 한다. 그래도 redis는 docker image로 얻을 수 있으니까 docker-compose.yml을 작성할 때 명시해주면 될 것 같다.
docker-compose.yml
version: '3.2'
services:
redis:
image: redis:alpine
restart: always
web:
build:
context: ./project
dockerfile: Dockerfile
ports:
- "5000:5000"
depends_on:
- redis
restart: always
sudo docker-compose up
이제 다른 폴더들도 함께 묶으면 되겠다.
tcp-server, agent는 최종본 나오면 Dockerfile 만들어서 뚝딱 할 수 있을 것 같다 아마도^^
'개발 > Docker' 카테고리의 다른 글
Docker volume, mount 개념 (0) | 2022.01.14 |
---|---|
docker save, load (0) | 2021.11.17 |
docker, docker-compose (0) | 2021.08.12 |
가상화방식의 역사(docker의 등장까지) (0) | 2021.08.12 |
docker-compose 개념 및 참고자료 (0) | 2021.08.08 |
댓글