Docker 초보자가 연습을 위한 본격적인 빠른 시작 기록

6225 단어 Docker

개시하다


천리 길도 한 걸음부터.
Docker 초보자가 연습을 위한 본격적인 빠른 시작 기록
https://docs.docker.com/compose/rails/

컨디션


OS: OSX
Docker: Docker for Mac
Editor: emacs
Shell: zsh

단계(레코드)

# テキトウな空のディレクトリを作成する
$ mkdir docker_practice
$ cd docker_practice

# Dockerファイルを作成する
$ emacs Dockerfile
Docker file의 내용은 다음과 같습니다.
FROM ruby:2.5
RUN apt-get update -qq && apt-get install -y build-essential libpq-dev nodejs
RUN mkdir /myapp
WORKDIR /myapp
COPY Gemfile /myapp/Gemfile
COPY Gemfile.lock /myapp/Gemfile.lock
RUN bundle install
COPY . /myapp
생성Gemfile
$ emacs Gemfile
Gemfile의 내용은 다음과 같다.
source 'https://rubygems.org'
gem 'rails', '5.2.0'
비워두기Gemfile.lock도 필요하니까 먼저 해
$ touch Gemfile.lock
docker-compose.yml.
$ emacs docker-compose.yml
docker-compose.yml의 내용은 다음과 같다.
환경 변수에서 빼내는 게 좋을 텐데...등등, 심사숙고 없이 써냈어요
docker-compose.yml
version: '3'
services:
  db:
    image: postgres
    volumes:
      - ./tmp/db:/var/lib/postgresql/data
  web:
    build: .
    command: bundle exec rails s -p 3000 -b '0.0.0.0'
    volumes:
      - .:/myapp
    ports:
      - "3000:3000"
    depends_on:
      - db
이동 라일스의 컨테이너rails new로 해보세요.
$ docker-compose run web rails new . --force --database=postgresql
여기에 도착하면 web 안의 물건을 엿볼 수 있다
$ docker-compose run web bash

/myapp# ls -l
total 36
-rw-r--r--  1 root root  223 Sep  4 18:38 Dockerfile
-rw-r--r--  1 root root 2223 Sep  4 18:41 Gemfile
-rw-r--r--  1 root root 5300 Sep  4 18:42 Gemfile.lock
-rw-r--r--  1 root root  374 Sep  4 18:41 README.md
-rw-r--r--  1 root root  227 Sep  4 18:41 Rakefile
drwxr-xr-x 10 root root  320 Sep  4 18:41 app
drwxr-xr-x  9 root root  288 Sep  4 18:42 bin
drwxr-xr-x 16 root root  512 Sep  4 19:09 config
-rw-r--r--  1 root root  130 Sep  4 18:41 config.ru
drwxr-xr-x  3 root root   96 Sep  4 18:41 db
-rw-r--r--  1 root root  266 Sep  4 18:39 docker-compose.yml
drwxr-xr-x  4 root root  128 Sep  4 18:41 lib
drwxr-xr-x  4 root root  128 Sep  4 18:51 log
-rw-r--r--  1 root root   63 Sep  4 18:41 package.json
drwxr-xr-x  9 root root  288 Sep  4 18:41 public
drwxr-xr-x  3 root root   96 Sep  4 18:41 storage
drwxr-xr-x 11 root root  352 Sep  4 18:41 test
drwxr-xr-x  9 root root  288 Sep  4 18:59 tmp
drwxr-xr-x  3 root root   96 Sep  4 18:41 vendor

/myapp# exit
구축docker-compose.yml에 정의된 서비스
$ docker-compose build
rails를 시작하기 위해서는 설정이 필요합니다db
$ emacs config/database.yml 
postgresql 사용, 아래와 같다.
config/database.yml
default: &default
  adapter: postgresql
  encoding: unicode
  host: db
  username: postgres
  password:
  pool: 5

development:
  <<: *default
  database: myapp_development


test:
  <<: *default
  database: myapp_test
마이그레이션 재생
$ docker-compose run web rake db:create
일어나봐.
$ docker-compose up
http://localhost:3000/
라일스의 움직임을 확인할 수 있을 거예요.

링크

  • Quickstart: Compose and Rails
  • Docker Ruby2에 있습니다.4.0,Rails5.1.0 환경 구축
  • 좋은 웹페이지 즐겨찾기