2016-08-12 70 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