小编han*_*ock的帖子

Rails服务器仍在新打开的docker容器中运行

我想使用Docker部署我的rails项目.所以我使用Docker-Compose.但我得到一个奇怪的错误消息.当运行docker-compose up(这包含带有postgresql的db-container,带有rails的redis和web容器)时,我得到一个

web_1 | => Booting Puma web_1 | => Rails 4.2.4 application starting in production on http://0.0.0.0:3000 web_1 | => Runrails server -h for more startup options web_1 | => Ctrl-C to shutdown server web_1 | A server is already running. Check /usr/src/app/tmp/pids/server.pid. web_1 | Exiting 所以我无法理解为什么我会收到这条消息,因为每次运行docker-compose时,新容器都会启动,而不是之前的容器.即使想要删除这些server.pid我也无法做到这一点,因为这个容器没有运行.

我的docker-compose.yml文件

web:
  dockerfile: Dockerfile-rails
  build: .
  command: bundle exec rails s -p 3000 -b '0.0.0.0'
  ports:
    - "80:3000"
  links:
    - redis
    - db
  environment:
    - REDISTOGO_URL=redis://user@redis:6379/

redis:
  image: redis …
Run Code Online (Sandbox Code Playgroud)

ruby-on-rails docker dockerfile docker-compose

41
推荐指数
6
解决办法
2万
查看次数

测试期间在 Laravel 中重置数据库中的记录,而不是数据库本身

我现在正在测试我的 Laravel 应用程序并面临下一个问题:我的项目是从一个无框架的 PHP 项目迁移而来的,该项目已经有自己的数据库,所以我没有对大多数 db 数据进行迁移。在测试期间我需要刷新我的数据库,但就我现在而言,当我使用use RefreshDatabase;我的整个数据库时正在刷新(因此表也被删除),所以 laravel 假设我每次都在迁移我的数据库表,我没有做什么。所以问题是:每个新测试是否有可能只刷新记录(我的意思是删除它们),而不是整个数据库?我用谷歌搜索了一下,不幸的是没有找到可能有帮助的东西。提前致谢!

php unit-testing laravel

4
推荐指数
1
解决办法
2694
查看次数