实战 Rails

[root@node ]# sysctl -w net.ipv4.ip_forward=1

[root@node ~]# mkdir rails
[root@node ~]# cd rails/

首先,因为应用将要运行在一个满足所有环境依赖的 Docker 容器里面
[root@node rails]# vi Dockerfile

FROM ruby
RUN apt-get update -qq && apt-get install -y build-essential libpq-dev
RUN mkdir /myapp
WORKDIR /myapp
ADD Gemfile /myapp/Gemfile
RUN bundle install
ADD . /myapp

下一步,我们需要一个引导加载 Rails 的文件 Gemfile
[root@node rails]# vi Gemfile

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

docker-compose.yml 文件将把所有的东西关联起来。它描述了应用的构成(一个 web 服务和一个数据库)、每个镜像的来源(数据库运行在使用预定义的 PostgreSQL 镜像,web 应用侧将从本地目录创建)、镜像之间的连接,以及服务开放的端口。
[root@node rails]# vi docker-compose.yml

version: "3"
services:db:image: postgresports:- "5432"web:build: .command: bundle exec rackup -p 3000volumes:- .:/myappports:- "3000:3000"links:- dbdocker-compose run 命令生成应用的骨架了

[root@node rails]# docker-compose run web rails new . --force --database=postgresql --skip-bundle

时间大概需要20分钟

Gemfile 文件去掉加载 therubyracer 的行的注释,这样我们便可以使用 Javascript 运行环境:

现在我们已经有一个新的 Gemfile 文件,需要再重新创建镜像

[root@node rails]# docker-compose build

[root@node rails]# cd config/

[root@node config]# vi database.yml

现在就可以启动应用了。

[root@node config]# docker-compose up

我们需要做的是创建数据库,打开另一个终端,运行:

docker-compose run web rake db:create

web 应用已经开始在你的 docker 守护进程里面监听着 3000 端口了

转载于:https://www.cnblogs.com/guogle/p/11054490.html

6.19docker (三)实战 Rails相关推荐

  1. 基于Spark的机器学习实践 (三) - 实战环境搭建

    0 相关源码 1 Spark环境安装 ◆ Spark 由scala语言编写,提供多种语言接口,需要JVM ◆ 官方为我们提供了Spark 编译好的版本,可以不必进行手动编译 ◆ Spark安装不难,配 ...

  2. 【TensorFlow-windows】学习笔记三——实战准备

    前言 因为学习TensorFlow的内容较多,如果只看API会很无聊,可以结合实例去学习.但是在构建基本的模型之前,需要学一些准备知识:数据读取.预处理.优化器.损失函数 国际惯例,参考网址: Ten ...

  3. Ruby on rails 实战圣经:Part 2: 深度剖析环境设定与Bundler

    Complication is WhatHappens When You Try to Solve a Problem You Don't Understand - Andy Boothe 目录结构 ...

  4. Ruby on rails 实战圣经: 深度剖析环境设定与Bundler

    Complication is WhatHappens When You Try to Solve a Problem You Don't Understand - Andy Boothe 目录结构 ...

  5. bootstrap 时间线_股票配资均量线的实战用法绝技是什么?怎么用它判断买卖点?...

    已经很久没有和大家讨论过股票交易量的有关内容了,主要是关于它的介绍和用法我们学习的太多了,不过好像漏了一个关于它的用法,就和和成交量息息相关的均量线,那么什么是均量线?和成交量有啥关系呢? 一.什么是 ...

  6. SQL Server 表分区实战系列(文章索引)

    一.本文所涉及的内容(Contents) 本文所涉及的内容(Contents) 前言(Introduction) 实战说明(In Action) 表分区逻辑结构图(Construction) 表分区学 ...

  7. js文件里获取路由 vue_「如何优雅的使用Vue?」不可不知的Vue实战技巧

    作者: CHICAGO 转发连接:https://juejin.im/post/5e475829f265da57444ab10f 前言 在大家都会用vue的时代,我们又如何去区别是新手小白还是资深vu ...

  8. python核心教程百度云_Python核心技术与实战 共44讲 中文pdf高清版

    人工智能时代下,Python毫无疑问是最热的编程语言.有人夸它功能强大还上手轻松,有人说它学习曲线不那么陡峭,但是更多的人,在推开Python的大门后却发现,Python入门容易但精通却不易,Pyth ...

  9. 52. SQL Server -- 表分区实战系列(文章索引)

    一.本文所涉及的内容(Contents) 本文所涉及的内容(Contents) 前言(Introduction) 实战说明(In Action) 表分区逻辑结构图(Construction) 表分区学 ...

最新文章

  1. 为什么阿里强制 boolean 类型变量不能使用 is 开头?
  2. 俄罗斯网络安全治理及其启示
  3. 2.8 多任务学习-深度学习第三课《结构化机器学习项目》-Stanford吴恩达教授
  4. hexo+git维护笔记
  5. 征名公布|Qtum量子链企业版—Unita 中文名征集圆满落幕
  6. anaconda安装tensorflow后,matplotlib无法调用的解决方法
  7. python进程池和线程池_Python中的进程池与线程池(包含代码)
  8. Appium + python - online-install-apk
  9. idea配置svn地址
  10. 【小程序开发】开发一个短信登录验证(后端采用springboot)
  11. 遥控器控制项目(拷贝型遥控器+灵R1A)
  12. 在RecyclerView里使用图片轮播
  13. cocos2d实现语音_【Cocos Creator与C++知识分享】Creator接入呀呀语音SDK
  14. lidar_align 标定lidar和imu 在“Performing Global Optimization”步骤终止的问题
  15. Excel VBA 中有关使用 UBound + CurrentRegion 提示类型不匹配的问题及解决方案
  16. 银行项目企业网银转账对私转账功能的测试点
  17. 【区块链】虚拟货币钱包
  18. 微信二维码扫一扫的实现
  19. 记录一个小型的数据压缩项目
  20. 安徽大学c语言作业题库,安徽大学C语言考试试卷

热门文章

  1. 铁打的Python连续3年第一,PHP跌出前十:IEEE Spectrum 2019编程语言排行榜出炉
  2. Spring(十八):Spring AOP(二):通知(前置、后置、返回、异常、环绕)
  3. # 中小型网络构建-ACL
  4. 字符串(一):char 数组
  5. js使用计时事件制作的钟表
  6. python核心-类-1
  7. JVM源码分析之FinalReference完全解读
  8. java之ibatis数据缓存
  9. 华为eNSP和SecureCRT连接乱码问题
  10. 问题用户小米科技CEO雷军:千万别把用户当上帝