你好,我有个大问题。我尝试在不同的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数据库中
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'@'' (using password: YES)
其中是我的机器而不是容器。请帮帮我,我不知道该怎么办
1条答案
按热度按时间mzsu5hc01#
您必须链接容器,这应该可以:
现在
web
容器链接到db
以及sql_srv
是的别名db
容器。你应该到达db
集装箱从web
使用此地址的容器:sql_srv:3306
您实际上不需要指定ports
在db
如果您只想连接db
容器到web
容器。属性ports
仅用于从主机到达容器。