본문 바로가기
개발/Docker

docker image build & docker-compose up

by meanjung 2021. 10. 15.

내가 작성한 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

댓글