Tôi đã tạo một docker-compose.yml
nhỏ được sử dụng để hoạt động như một sự quyến rũ để triển khai các phiên bản WordPress nhỏ. Nó trông giống như thế này:docker-compose kết nối mysql wordpress từ chối
wordpress:
image: wordpress:latest
links:
- mysql
ports:
- "1234:80"
environment:
WORDPRESS_DB_USER: wordpress
WORDPRESS_DB_NAME: wordpress
WORDPRESS_DB_PASSWORD: "password"
WORDPRESS_DB_HOST: mariadb
MYSQL_PORT_3306_TCP: 3306
volumes:
- /srv/wordpress/:/var/www/html/
mysql:
image: mariadb:latest
mem_limit: 256m
container_name: mariadb
environment:
MYSQL_ROOT_PASSWORD: "password"
MYSQL_DATABASE: wordpress
MYSQL_USER: wordpress
MYSQL_PASSWORD: "password"
volumes:
- /srv/mariadb:/var/lib/mysql
Nhưng khi tôi bắt đầu nó bây giờ (có lẽ kể từ Docker cập nhật cho phiên bản 1.9.1 Docker, xây dựng a34a1d5
), nó không
wordpress_1 | Warning: mysqli::mysqli(): (HY000/2002): Connection refused in - on line 10
wordpress_1 |
wordpress_1 | MySQL Connection Error: (2002) Connection refused
Khi tôi mèo /etc/hosts
của wordpress_1
có các mục nhập cho MySQL:
172.17.0.10 mysql 12a564fdbc56 mariadb
và tôi có thể ping máy chủ MariaDB.
Khi tôi docker-compose up
, WordPress được cài đặt và sau vài khởi động lại MariaDB chứa bản in:
Version: '10.0.22-MariaDB-1~jessie' socket: '/var/run/mysqld/mysqld.sock' port: 3306 mariadb.org binary distribution
nào schould chỉ ra nó phải chạy, phải không?
Làm cách nào để WordPress có thể kết nối với vùng chứa MariaDB?
cổng mysql của bạn đang khai thác 3306 ngày nào? bạn có biến môi trường: MYSQL_PORT_3306_TCP_PORT không? – Michael
Cảm ơn câu trả lời của bạn. Nó chạy trên 3306, như bạn có thể thấy trong thông điệp staria mariadb bắt đầu (di chuyển sang phải) ... vẫn không có ý tưởng, tại sao việc này không hoạt động nữa – Harry
Đó là bên trong container, tôi hỏi cổng tiếp xúc là gì trên các docker container: docker port –
Michael