1. 程式人生 > >docker-compose執行Rails

docker-compose執行Rails

1.新建空目錄,名字可以叫Rails

 

2.新建Dockerfile並新增如下內容

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

 

3.新建Gemfile並新增如下內容

source 'https://rubygems.org'
gem 'rails', '5.2.0'

 

4.建立一個空Gemfile.lock來構建我們的Dockerfile

 touch Gemfile.lock

 

5.編寫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

 

6.有了上面這四個檔案,現在可以使用docker-compose run生成Rails骨架應用程式

docker-compose run web rails new . --fordatabase=postgresql

 

7.授權

sudo chown -R $USER:$USER .

 

8.構建

docker-compose build

 

9.用以下內容替換內容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

 

10.啟動應用程式

docker-compose up

控制檯輸出:

 

11.瀏覽器輸入:http://IP:3000/回車 出現如下介面表示成功

 

12.最後,您需要建立資料庫。在另一個終端中,執行

docker-compose run web rake db:create

 

控制檯輸出: