Docker로 최소한의 rails 개발 환경을 철저히 구축해 보자~2장~

소개



전회의 계속입니다.

Docker로 최소한의 rails 개발 환경을 철저히 구축해 보자~1장~

목표


docker run -d --name minimum -it -v $PWD:/app -p 3000:3000 --expose 3000 minimum
root@41febcaa682c:/app# rails server -d -b 0.0.0.0

이전의 이 근처의 커멘드는 길고 매회 실행하는 것은 번거롭기 때문에 docker-compose로 해결한다.

준비



전회의 계속이므로, 실제로 움직이면서 읽어 주실 경우는, git로부터 clone 해 주시면...
$ git clone [email protected]:IkumiIdei/rails_minimum.git

docker-compose.yml 만들기



docker-compose.yml을 Dockerfile과 동일한 계층 구조로 만듭니다.
$ touch docker-compose.yml

docker-compose.yml
version: '3'
services:
  web:
    build: .
    ports:
      - "3000:3000"
    volumes:
      - .:/app
    command: bash -c "rm -f /app/tmp/pids/server.pid && rails server -b 0.0.0.0"



설명


build: [Dockerfile 배포 디렉토리]
빌드 대상의 Dockerfile 지정

ports: [호스트측 포트]:[컨테이너측 포트]
포트 할당 설정

volumes: [호스트 측 상대 경로]:[컨테이너 측 상대 경로]
볼륨 지정

command: [실행 명령]
컨테이너 시작시 실행 명령


이미지 빌드



up 명령으로 이미지 빌드에서 컨테이너 시작까지 단번에 수행합니다.
$ docker-compose up -d

컨테이너의 상태를 확인해 봅니다.
$ docker ps
CONTAINER ID        IMAGE               COMMAND                  CREATED              STATUS              PORTS                    NAMES
a3eb28149350        minimum_app2_web    "bash -c 'rm -f /app…"   About a minute ago   Up 59 seconds       0.0.0.0:3000->3000/tcp   minimum_app2_web_1

시작하고 있다고합니다.

브라우저에서 localhost : 3000에 액세스 해 보면 ... 무사히 움직였습니다!

좋은 웹페이지 즐겨찾기