2016-08-12 54 views
5

我使用docker-compose构建了2个docker容器。我在Mac上使用Docker,没有boot2docker。在Docker中使用Mysql的续集Pro

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 

一切工作正常。我成功安装了Drupal。

问题是:我想将SequelPro连接到我的数据库,但我没有连接到mysql容器。 我是码头初学者。 感谢您的帮助 米莎

回答

0

看起来应该多一点这样的:

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 

(林不知道,如果定义在全球范围内的工作环境变量,也许有人谁知道可以在这里纠正我的答案并简化它)

正如你所看到的,你有2个服务,mysql-server和drupal-web。 Drupal-web链接您的数据库服务。这两个服务都有自己的环境变量。

+0

我的文件做工精细,唯一的问题是,我无法达到我的来自extern的DB。 – freemindghost

+0

同样的问题在这里,我仍然没有找到这个原因...你有什么消息吗? – Charaf

9

你忘了,露出你的数据库端口的主机,所以只需添加

mysql-server: 
    image: mysql 
    ports: 
     - "3306:3306" 
    environment: 
     MYSQL_ROOT_PASSWORD: root 
     MYSQL_DATABASE: drupal 
     MYSQL_USER: drupal 
     MYSQL_PASSWORD: drupal 

,然后使用连接到数据库中Sequal:

user: root 
password: root 
host: localhost 
port: 3306 

如果你有一个本地的MySQL数据库运行已经,更改端口

ports: 
    - "4306:3306" 

,然后连接到端口4306代替邻f 3306。要知道,从Drupal的容器,你仍然会使用3306

+0

明确暴露端口3306允许我从我的mac中使用sequel pro访问它。我有点惊讶,它还没有被默认暴露 – DDS

4

地图主机端口4306(或其他任何可用的端口),以泊坞窗mysql的3306,如:

mysql-server: 
     image: mysql 
    environment: 
     MYSQL_DATABASE: drupal 
     MYSQL_ROOT_PASSWORD: root 
     MYSQL_USER: drupal 
     MYSQL_PASSWORD: drupal 
    ports: 
     - "4306:3306" 

你应该能够连接到泊坞窗的MySQL与127.0.0.1:4306

mysql -u drupal -h 127.0.0.1 -P 4306 -p 
0

在我来说,我已经与MySQL的问题:8,换到任何5,一切都OK