2016-07-16 150 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工作,那么请让我知道。我有同样的问题。