docker-compose執行Rails
阿新 • • 發佈:2018-12-27
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
控制檯輸出: