2016-07-16 157 views
1

這讓我瘋狂......碼頭集裝箱中的MySQL連接

我正在Mac上用Docker構建一個簡單的LEMP棧。

這是我的搬運工,撰寫文件:

nginx: 
    image: tutum/nginx 
    ports: 
     - "3333:80" 
    links: 
     - phpfpm 
     - db 
    volumes: 
     - ./nginx/default.conf:/etc/nginx/sites-available/default 
     - ./nginx/default.conf:/etc/nginx/sites-enabled/default 

     - ./logs/nginx-error.log:/var/log/nginx/error.log 
     - ./logs/nginx-access.log:/var/log/nginx/access.log 

phpfpm: 
    build: ./phpfpm 
    ports: 
     - "9000:9000" 
    volumes: 
     - ./code:/usr/share/nginx/html 

db: 
    image: mysql 
    tty: true 
    restart: always 
    volumes: 
    - /Users/mauo/local/mysql/data:/var/lib/mysql 
    ports: 
    - "3308:3306" 
    environment: 
    MYSQL_DATABASE: 'docker' 
    MYSQL_ROOT_PASSWORD: 'root' 
    MYSQL_USER: 'root' 
    MYSQL_ALLOW_EMPTY_PASSWORD: 'yes' 

一切正常,對MySQL的容器例外。

這拒絕我連接。

這是代碼文件夾中我的PHP文件的消息:

(HY000/2002): Connection refused in /usr/share/nginx/html/index.php on line 2 

當我在EXEC - 它的bash mysql的容器進入,我輸入「mysql的」,同樣的事情,拒絕訪問根@本地主機。

從容器內,嘗試啓動「mysqld的」,它告訴我

2016-07-16T09:56:02.777893Z 0 [ERROR] InnoDB: Unable to lock ./ibdata1 error: 11 
    2016-07-16T09:56:02.778010Z 0 [Note] InnoDB: Check that you do not already have another mysqld process using the same InnoDB data or log files. 
    2016-07-16T09:56:03.779967Z 0 [ERROR] InnoDB: Unable to lock ./ibdata1 error: 11 
    2016-07-16T09:56:03.780182Z 0 [Note] InnoDB: Check that you do not already have another mysqld process using the same InnoDB data or log files. 

任何幫助,將不勝感激!!!!

謝謝

M.

+0

讓我們嘗試找到問題。嘗試從docker-compose config刪除卷: ' -/Users/mauo/local/mysql/data:/ var/lib/mysql' –

回答

0

我是新來泊塢窗,所以我可能是錯的。

您是否嘗試過root @ db。 我認爲一些碼頭魔法爲鏈接的容器創建DNS記錄。如果你設法讓root @ localhost工作,那麼請讓我知道。我有同樣的問題。