Kết nối bàn làm việc của MySQL với thùng chứa MySQL


9

Tôi đã lấy MySQL container từ Dockerhub và nó đang chạy trên macbook pro của tôi như bạn có thể thấy như sau

CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS               NAMES
12cd3deaa3f0        mysql:latest        "/entrypoint.sh mysql"   47 hours ago        Up 10 minutes       3306/tcp            mysqldb

Sau đó, tôi đã tải xuống bàn làm việc của MySQL và tôi đã cố gắng kết nối nó với thùng chứa MySQL, nhưng nó không hoạt động. Nó hiển thị lỗi kết nối.

Your connection attempt failed for user 'root' from your host to server at 192.168.99.102:3306:
Can't connect to MySQL server on '192.168.99.102' (60)

IP từ máy docker là

docker-machine ip default
192.168.99.100

và cổng từ MySQL là 3306 như bạn có thể thấy ở trên.

Để xuất cổng MySQL, tôi đã thử với tuyên bố

docker run -d -P mysql:latest mysqldb

Nó hoàn toàn không hoạt động. Tôi đang làm gì sai?

Câu trả lời:


9

Có vẻ như bạn đã chạy container mà không đặt -p 3306:3306tham số. Ngoài ra, có vẻ như bạn đã nhập nhầm địa chỉ IP vào Tên máy chủ trong MySQL Workbench. Tôi khuyên bạn nên bắt đầu từ đầu bằng cách làm theo các hướng dẫn sau:

  1. Chạy máy chủ mysql. (Thay đổi mật khẩu adminthành bất cứ điều gì bạn muốn)

docker run -e MYSQL_ROOT_PASSWORD=admin --name mysql -d -p=3306:3306 mysql

  1. lấy địa chỉ IP của máy ảo docker mặc định bằng cách chạy

docker-machine ip default

  1. Sao chép địa chỉ IP mà bạn sẽ nhận được do kết quả của lệnh trước đó. (trong trường hợp của bạn, nó phải là 192.168.99.100)
  2. Mở MySQL Workbench và tạo một kết nối mới. Dán địa chỉ IP mà bạn đã sao chép vào trường "Tên máy chủ".

Bạn nên được thiết lập ngay bây giờ.


1

Tham số -Pliên kết tự động các cổng xuất của một container với các cổng có sẵn của máy chủ.

Lệnh sau sẽ liên kết cổng container 3306 với cổng 3306 của máy chủ. Xem: Xuất bản hoặc lộ cổng

docker run -d -p 3306:3306 mysql:latest mysqldb

Tôi đã gõ câu lệnh docker run -d -p 3306:3306 mysql:5.7.9 dbmysqlvà như đầu ra mà tôi có d38a0f208bcda50132d7f6f679c9282b0d90b275610b8d19ac93bf82d94eea43nhưng vẫn không thể truy cập vào bộ chứa mysql bằng bàn làm việc của mysql. Khi tôi gõ docker ps, nó hiển thị cho tôid6b44992ec77 mysql:5.7.9 "/entrypoint.sh mysql" About a minute ago Up About a minute 3306/tcp dbmysql
zero_coding
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.