我是Docker世界的新手,我花了我的假期来学习这个docker (然而它比Vagrant难得多)。所以我使用Ubuntu 16.04,我成功地安装了docker和docker-compose。
我读了这个教程:Quickstart: Docker Compose and Rails,但这不起作用...也许教程不是很好。
我有这个docker-compose.yml:
db:
image: postgres
web:
build: .
command: bundle exec rails s -p 3000 -b '0.0.0.0'
volumes:
- .:/www/html
ports:
- "3000:3000"
depends_on:
- db我总是收到这样的错误:
$ docker-compose run web rails new . --force --database=postgresql --skip-bundle
ERROR: Validation failed in file './docker-compose.yml', reason(s):
Unsupported config option for 'web' service: 'depends_on'嗯,好吧,我读了很多谷歌搜索结果,似乎我遇到了麻烦,因为我使用Ubuntu。不幸的是,Ubuntu中docker的最高版本号只有1.5.2。(我尝试使用curl下载1.7.1,但自动安装了1.5.2。)
$ docker version
Client:
Version: 1.11.1
API version: 1.23
Go version: go1.5.4
Git commit: 5604cbe
Built: Tue Apr 26 23:43:49 2016
OS/Arch: linux/amd64
Server:
Version: 1.11.1
API version: 1.23
Go version: go1.5.4
Git commit: 5604cbe
Built: Tue Apr 26 23:43:49 2016
OS/Arch: linux/amd64你有什么想法吗,我该如何运行基于rails的docker?我不能安装docker机器,因为我使用ubuntu,安装总是会失败。
然而,我的PHP docker-compose.yml很好,因为我可以运行它:slight_smile:但是这个rails教程不好。
发布于 2017-02-16 20:16:14
这表明您的docker-compose版本是较小的版本。所以,如果你使用的是Ubuntu,你可以卸载docker-compose:
sudo apt-get purge docker-compose然后,您可以使用以下命令重新安装最新版本:
curl -L "https://github.com/docker/compose/releases/download/1.10.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose然后,
chmod +x /usr/local/bin/docker-compose发布于 2016-05-15 18:53:57
我认为来自b.enoit.be的答案是正确的,但只是为了完整性(为了使用旧版本docker-compose的任何人,他们现在还不能更新),应该可以通过将depends_on更改为links来实现这一点
db:
image: postgres
web:
build: .
command: bundle exec rails s -p 3000 -b '0.0.0.0'
volumes:
- .:/www/html
ports:
- "3000:3000"
links:
- db这是因为depends_on只在新版本的docker-compose格式中添加。
https://stackoverflow.com/questions/37121784
复制相似问题