Jur*_*jka 3 mysql ruby-on-rails docker docker-compose
你好,我有很大的问题.我试图在单独的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
Run Code Online (Sandbox Code Playgroud)
并在我的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
Run Code Online (Sandbox Code Playgroud)
结束当我运行应用程序时我得到错误:
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
Run Code Online (Sandbox Code Playgroud)
现在web容器已链接到容器db并且sql_srv是db容器的别名.您应该使用以下地址db从web容器到达容器:sql_srv:3306
如果您只想将容器连接ports到db容器,则实际上不需要在容器中指定容器.该属性仅用于从主机到达容器.dbwebports
| 归档时间: |
|
| 查看次数: |
4888 次 |
| 最近记录: |