[英]docker-compose rails with mysql
你好,我有很大的問題。 我試圖在單獨的docker容器上運行rails和mysql。 在docker-compose.yml我有:
version: '2'
services:
db:
image: mysql
ports:
- "3307:3306"
environment:
MYSQL_ROOT_PASSWORD: zzz
MYSQL_USER: root
MYSQL_PASSWORD: zzz
MYSQL_DATABASE: zzz
web:
build: .
command: bundle exec rails s -p 3000
volumes:
- .:/app
ports:
- "3000:3000"
depends_on:
- db
並在我的rails database.yml
development:
adapter: mysql2
encoding: utf8
database: zzz
pool: 5
username: root
password: zzz
host: database.dev //this is host for container with mysql
port: 3306
結束當我運行應用程序時我收到錯誤: Access denied for user 'root'@'xxx' (using password: YES)
其中xxx是ip我的機器不是容器。 請幫助我不知道該怎么做
你必須鏈接容器,這應該工作:
version: '2'
services:
db:
image: mysql
ports:
- "3307:3306"
environment:
MYSQL_ROOT_PASSWORD: zzz
MYSQL_USER: root
MYSQL_PASSWORD: zzz
MYSQL_DATABASE: zzz
web:
build: .
command: bundle exec rails s -p 3000
volumes:
- .:/app
ports:
- "3000:3000"
links:
- db:sql_srv
depends_on:
- db
現在, web
容器鏈接到db
, sql_srv
是db
容器的別名。 您應該使用以下地址從web
容器訪問db
容器: sql_srv:3306
如果只想將db
容器連接到web
容器,則實際上不需要在db
容器中指定ports
。 屬性ports
僅用於從主機到達容器。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.