Docker-composer trên mac
Mình có làm một môi trường bằng docker để chạy 1 con web trên mac. HIện tại mình có 2 container là 1 web và db.
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 5825aae26a58 ai_ai "/bin/bash" 2 hours ago Up 11 minutes 0.0.0.0:90->80/tcp ai_ai_1 5e69bff8ead8 mysql "docker-entrypoint.s…" 2 hours ago Up 11 minutes 0.0.0.0:3308->3306/tcp ai_db_1
Tại con web mình config env ( laravel ) DB_CONNECTION=mysql DB_HOST=172.18.0.2 ( địa chỉ của container db) DB_PORT=3308 DB_DATABASE=ai DB_USERNAME=root DB_PASSWORD=root
file docker-composer.yml mình config là :
db: image: mysql restart: always environment: MYSQL_ALLOW_EMPTY_PASSWORD: "yes" MYSQL_DATABASE: ai MYSQL_USER: root MYSQL_PASSWORD: root ports: - "3308:3306"
Hiện tại mình gặp lỗi:
Connection refused. Ai giúp mình với ạ. Xin cảm ơn.
Trong file docker compose bạn sử dụng
links
như sau:Và trong config web sửa
DB_HOST=172.18.0.2
thànhDB_HOST=db
ref: https://docs.docker.com/compose/compose-file/#links
bạn nên thêm
links
trong phân khai báo container web chứ ko nên set ip. Vì ip này ko phải ip tĩnh đâu, nó sẽ thay đổi khi bán tắt đi bật lại container