连接到主机mysql时发生Docker错误
Docker版本17.03.1-ce,内部版本c6d412e 操作系统:Ubuntu 我正在尝试从docker容器连接到主机mysql。但我得到了这个错误 错误:连接ECONREFUSSED 0.0.0.0:3306 如果我使用mysql容器,我会得到同样的mysql。也尝试了127.0.0.1和localhost连接到主机mysql时发生Docker错误,docker,docker-compose,dockerfile,Docker,Docker Compose,Dockerfile,Docker版本17.03.1-ce,内部版本c6d412e 操作系统:Ubuntu 我正在尝试从docker容器连接到主机mysql。但我得到了这个错误 错误:连接ECONREFUSSED 0.0.0.0:3306 如果我使用mysql容器,我会得到同样的mysql。也尝试了127.0.0.1和localhost version: '2' services: ### Applications Code Container #############################
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"
您应该使用主机的IP,而不是使用0.0.0.0、127.0.0.1或localhost。这是因为每个容器都是网络中的单个节点
或者,如果你可以检查你的MySQL容器,并获得它的IP,你也可以使用IP,因为它们在同一个网络上。你看到的docker compose ps用于MySQL的端口绑定是什么?0.0.0.0:3306->3306/tcp用于MySQL容器。我更关心的是与docker主机MySQL的连接,创建一个mysql容器只是一次尝试。。我理解。使用以下命令:
172.17.0.1:3306
。该IP对于主机docker是固定的,可以从容器中看到。试一下。不工作。我也正在连接mongo db。它位于另一台服务器上。“成功了!”Sandhu我看到你正在构建mysql。你能提供mysql日志吗<代码>docker编写日志mysql。我怀疑mysql是否正在运行,或者是否绑定到ip。