【发布时间】:2016-09-02 02:57:05
【问题描述】:
我以前从未使用过 docker。 我的最终目标 - 在 Ruby on Rails 应用程序中无头运行 chrome watir webdriver。老实说,RoR 也是新手 :)
我按照一些手册对使用 'watir-webdriver' 和 'headless' gems 的简单项目进行 dockerize。
https://www.packet.net/blog/how-to-run-your-rails-app-on-docker/
我的Dockerfile
FROM ruby:latest
# Mount any shared volumes from host to container @ /share
ENV HOME /home/rails/webapp
# Install dependencies
RUN apt-get update -qq && apt-get install -y build-essential libpq-dev
WORKDIR $HOME
# Install gems
ADD Gemfile* $HOME/
RUN bundle install
ADD . $HOME
CMD ["rails", "server", "--binding", "0.0.0.0"]
我做的步骤:
- 使用 postgresql 支持创建简单的
rails new watir-app - 将 gem
watir-webdriver,headless及其用法添加到一个控制器。 - 生成 docker 镜像
docker build -t watir-app .(无错误) - 运行容器
docker run -d -p 3000:3000 watir-app(无错误) -
该应用在
http://localhost:3000上不可用,因此尝试连接到容器进行调查:C:\Users\ttttt\RubymineProjects\watir-test>docker ps -a
容器 ID 图像命令创建状态端口名称 868458c906c1 watir-app "rails server --bindi" 14 秒前退出 (1) 11 秒前 adoring_volhard
C:\Users\ttttt\RubymineProjects\watir-test>docker exec adoring_volhard echo "1" 来自守护进程的错误响应:容器 868458c906c13928040caf4a18d6395f6b020b3eb40a1d693de84c006b9a2617 未运行
C:\Users\ttttt\RubymineProjects\watir-test>
红宝石:2.2.5
导轨:5.0.0.1
Docker for Win:1.12.0
【问题讨论】:
标签: ruby-on-rails docker dockerfile ruby-on-rails-5