fre*_*ost 15 mysql sequelpro docker
我用docker-compose构建了2个docker容器.我在Mac上使用Docker,没有boot2docker.
version: '2'
services:
drupal-web:
image: drupal:latest
ports:
- "8080:80"
depends_on:
- mysql-server
links:
- mysql-server:mysql
mysql-server:
image: mysql
environment:
MYSQL_DATABASE: drupal
MYSQL_ROOT_PASSWORD: root
MYSQL_USER: drupal
MYSQL_PASSWORD: drupal
Run Code Online (Sandbox Code Playgroud)
一切正常.我成功安装了Drupal.
问题是:我想将SequelPro连接到我的数据库,但我没有连接到mysql容器.我是码头初学者.谢谢你的帮助Micha
Eug*_*yer 31
您忘记将数据库端口暴露给主机,因此只需添加即可
mysql-server:
image: mysql
ports:
- "3306:3306"
environment:
MYSQL_ROOT_PASSWORD: root
MYSQL_DATABASE: drupal
MYSQL_USER: drupal
MYSQL_PASSWORD: drupal
Run Code Online (Sandbox Code Playgroud)
然后使用以下命令连接到Sequel中的数据库:
user: root
password: root
host: localhost
port: 3306
Run Code Online (Sandbox Code Playgroud)
如果您已经运行了本地mysql数据库,请更改端口
ports:
- "4306:3306"
Run Code Online (Sandbox Code Playgroud)
然后连接到端口4306而不是3306.请注意,从drupal容器中,您仍将使用3306
小智 9
将主机端口4306(或任何其他可用端口)映射到docker mysql 3306,如:
mysql-server:
image: mysql
environment:
MYSQL_DATABASE: drupal
MYSQL_ROOT_PASSWORD: root
MYSQL_USER: drupal
MYSQL_PASSWORD: drupal
ports:
- "4306:3306"
Run Code Online (Sandbox Code Playgroud)
您应该能够使用127.0.0.1:4306连接到docker mysql
mysql -u drupal -h 127.0.0.1 -P 4306 -p
Run Code Online (Sandbox Code Playgroud)
chi*_*ona -1
应该看起来更像这样:
version: '2'
services:
mysql-server:
image: mysql
environment:
MYSQL_ROOT_PASSWORD: root
MYSQL_DATABASE: drupal
MYSQL_USER: drupal
MYSQL_PASSWORD: drupal
drupal-web:
image: drupal:latest
ports:
- "8080:80"
depends_on:
- mysql-server
links:
- mysql-server:mysql-server
environment:
MYSQL_DATABASE: drupal
MYSQL_USER: drupal
MYSQL_PASSWORD: drupal
Run Code Online (Sandbox Code Playgroud)
(我不确定在全局级别上定义环境变量是否有效,也许知道的人可以在这里纠正我的答案并简化它)
如您所见,您有 2 个服务:mysql-server 和 drupal-web。Drupal-web 链接您的数据库服务。这两个服务都有自己的环境变量。
| 归档时间: |
|
| 查看次数: |
20849 次 |
| 最近记录: |