zoukankan      html  css  js  c++  java
  • 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

    控制台输出:

  • 相关阅读:
    可扩展设计的三个维度
    今天用批处理脚本遇到的两个问题
    响应式编程学习记录
    ThreadLocal使用注意
    JDK8 函数式接口
    Java多线程相关的常用接口
    java异步编程
    java多线程同步器
    paramiko获取远程主机的环境变量
    python为不同的对象如何分配内存的小知识
  • 原文地址:https://www.cnblogs.com/youcong/p/10182055.html
Copyright © 2011-2022 走看看