2017-06-01 38 views
1

多克尔版本17.03.1策,建立c6d412e 操作系统:Ubuntu的泊坞窗错误连接主机的MySQL

我试图连接到从泊坞窗容器托管的MySQL。但我得到这个错误。

错误:连接ECONNREFUSED 0.0.0.0:3306

,如果我使用mysql容器我收到相同的MySQL。也试过127.0.0.1和localhost。

version: '2' 

services: 

### Applications Code Container 
############################# 

    applications: 
    image: tianon/true 
    volumes: 
     - ${APPLICATION}:/var/www/html 

    apache2: 
    build: 
     context: ./apache2 
    volumes_from: 
     - applications 
    volumes: 
     - ${APACHE_HOST_LOG_PATH}:/var/log/apache2 
     - ./apache2/sites:/etc/apache2/sites-available 
    ports: 
     - "${APACHE_HOST_HTTP_PORT}:80" 
     - "${APACHE_HOST_HTTPS_PORT}:443" 
    networks: 
     - frontend 
     - backend 

    node: 
    build: 
     context: ./node 
    volumes_from: 
     - applications 
    ports: 
     - "4000:30001" 
    networks: 
     - frontend 
     - backend  


### MySQL Container ######################################### 

    mysql: 
    build: 
     context: ./mysql 
    environment: 
     - MYSQL_DATABASE=${MYSQL_DATABASE} 
     - MYSQL_USER=${MYSQL_USER} 
     - MYSQL_PASSWORD=${MYSQL_PASSWORD} 
     - MYSQL_ROOT_PASSWORD=${MYSQL_ROOT_PASSWORD} 
    volumes_from: 
     - applications 
    volumes: 
     - ${DATA_SAVE_PATH}/mysql:/var/lib/mysql 
     - ./mysql/docker-entrypoint-initdb.d:/docker-entrypoint-initdb.d 
    ports: 
     - "${MYSQL_PORT}:3306" 
    networks: 
     - backend 


### Networks Setup ############################################ 

networks: 
    frontend: 
    driver: "bridge" 
    backend: 
    driver: "bridge" 

### Volumes Setup ############################################# 

volumes: 
    mysql: 
    driver: "local" 
    mongo: 
    driver: "local" 
    node: 
    driver: "local" 
    apache2: 
    driver: "local" 
+0

你用'docker-compose ps'查看mysql的端口绑定是什么? – Robert

+0

0.0.0.0:3306->3306/tcp for mysql容器。 – Sandhu

+0

我更关心与docker主机mysql的连接,创建一个mysql容器只是一个尝试。 – Sandhu

回答

0

而不是使用0.0.0.0,127.0.0.1或localhost,你应该使用你的主机的IP。这是因为每个容器都是网络中的单独节点。

或者,如果您可以检查您的MySQL容器并获取它的IP,那么也可以使用IP,因为它们位于同一网络中。

+1

尝试,但不是相同的错误连接ECONNREFUSED – Sandhu

+0

@Sandhu我看到你正在建立MySQL。你能提供mysql日志吗? 'docker-compose logs mysql'。我怀疑如果mysql正在运行,或绑定到一个IP。 – benjah1