我有一个MySQL容器的问题,无法连接到容器。
这是我的docker-compose.yml文件。
但我仍然无法连接到我的MySQL容器。
我尝试检查我的网络和容器。
mddev_report网络检查:http://i.imgsafe.org/4eae17a27f.png
web-server容器检查:http://i.imgsafe.org/4ec74e5d52.png
database容器检查:http://i.imgsafe.org/4ecb129d2d.png
这是我的docker-compose.yml文件。
apache:
build: ./
ports:
- 1814:80
volumes:
- ./code:/app
links:
- db
environment:
- APACHE_SERVER_NAME=local.dev
- PHP_SHORT_OPEN_TAG=On
- PHP_ERROR_REPORTING=E_ALL
- PHP_DISPLAY_ERRORS=On
- PHP_HTML_ERRORS=On
db:
image: mysql:5.6
ports:
- "3333:3306"
volumes:
- /var/lib/mysql
environment:
MYSQL_ROOT_PASSWORD: admin
MYSQL_DATABASE: app
我使用docker-compose up -d --build
命令来运行。
之后,我使用docker ps
命令来查看正在运行的容器。
https://i.imgsafe.org/3caf28c5f0.png
然后,我使用docker exec -it mddev_apache_1 /bin/bash
命令在mddev_apache_1
容器中运行交互式shell。
但是当我尝试连接到MySQL时,它被拒绝了。
https://i.imgsafe.org/3ccfde1f73.png
有任何想法为什么我无法连接到MySQL容器吗?
谢谢。
==================================================
更新
我将我的docker-compose.yml
更改为:
version: '2'
services:
apache:
build: ./
container_name: web-server
ports:
- 1814:80
volumes:
- ./code:/app
links:
- db
environment:
- APACHE_SERVER_NAME=local.dev
- PHP_SHORT_OPEN_TAG=On
- PHP_ERROR_REPORTING=E_ALL
- PHP_DISPLAY_ERRORS=On
- PHP_HTML_ERRORS=On
networks:
report:
aliases:
- web-server
db:
image: mysql:5.6
container_name: database
ports:
- "3333:3306"
volumes:
- /var/lib/mysql
environment:
MYSQL_ROOT_PASSWORD: admin
MYSQL_DATABASE: app
networks:
report:
aliases:
- database
networks:
report:
driver: bridge
但我仍然无法连接到我的MySQL容器。
我尝试检查我的网络和容器。
mddev_report网络检查:http://i.imgsafe.org/4eae17a27f.png
web-server容器检查:http://i.imgsafe.org/4ec74e5d52.png
database容器检查:http://i.imgsafe.org/4ecb129d2d.png
version: 'x'
),呵呵。 - Jiteversion
参数。必须使用version
吗? - Friandydocker inspect mddev_default
和docker inspect mddev_apache_1
、docker inspect mddev_db_1
),确保两个容器都在同一个网络(default
)上,并且拥有您期望的别名。 - Jitedocker-compose.yml
文件进行了一些更新。你可以检查一下吗? - Friandy