Hướng dẫn how do i connect to a mysql docker database? - làm cách nào để kết nối với cơ sở dữ liệu docker mysql?

ĐƯỢC RỒI. Cuối cùng tôi đã giải quyết được vấn đề này. Dưới đây là giải pháp của tôi được sử dụng trong https://sqlflow.org/sqlflow.

Show

Giải pháp hoàn chỉnh

Để làm cho bản demo khép kín, tôi đã chuyển tất cả các mã cần thiết sang https://github.com/wangkuiyi/mysql-server-in-docker.

Chìa khóa của giải pháp

Tôi không sử dụng hình ảnh chính thức trên dockerhub.com https://hub.docker.com/r/mysql/mysql-erver. Thay vào đó, tôi đã tự làm bằng cách cài đặt MySQL trên Ubuntu 18.04. Cách tiếp cận này cho tôi cơ hội để bắt đầu MySQLD và liên kết nó với 0,0.0.0 (tất cả các IPS).bind it to 0.0.0.0 (all IPs).

Để biết chi tiết, vui lòng tham khảo các dòng này trong repo GitHub của tôi.

SQLFLOW_MYSQL_HOST=${SQLFLOW_MYSQL_HOST:-0.0.0.0}

echo "Start mysqld ..."
sed -i "s/.*bind-address.*/bind-address = ${SQLFLOW_MYSQL_HOST}/" \
    /etc/mysql/mysql.conf.d/mysqld.cnf
service mysql start

Để xác minh giải pháp của tôi

  1. Git nhân bản repo đã nói ở trên.
    git clone https://github.com/wangkuiyi/mysql-server-in-docker
    cd mysql-server-in-docker
    
  2. Xây dựng hình ảnh Docker máy chủ MySQL
    docker build -t mysql:yi .
    
  3. Khởi động máy chủ MySQL trong thùng chứa
    docker run --rm -d -p 23306:3306 mysql:yi
    
  4. Cài đặt máy khách MySQL trên máy chủ, nếu chưa. Tôi đang chạy Ubuntu 18.04 trên máy chủ (máy trạm của tôi), vì vậy tôi sử dụng
    sudo apt-get install -y mysql-client
    
    5.
    sudo apt-get install -y mysql-client
    
  5. Kết nối từ máy chủ với máy chủ MySQL đang chạy trong container.
    mysql --host 127.0.0.1 --port 23306 --user root -proot
    

Kết nối từ một thùng chứa khác trên cùng một máy chủ

Chúng tôi có thể chạy máy khách MySQL từ ngay cả một container khác (trên cùng một máy chủ).

docker run --rm -it --net=host mysql/mysql-server mysql \
   -h 127.0.0.1 -P 13306 -u root -proot

Kết nối từ máy chủ khác

Trên iMac của tôi, tôi cài đặt máy khách MySQL bằng homebrew.

brew install mysql-client
export PATH="/usr/local/opt/mysql-client/bin:$PATH"

Sau đó, tôi có thể truy cập vào máy chủ Ubuntu ở trên (192.168.1.22).

mysql -h 192.168.1.22 -P 13306 -u root -proot

Kết nối từ một thùng chứa chạy trên máy chủ khác

Tôi thậm chí có thể chạy máy khách MySQL trong một thùng chứa chạy trên iMac để kết nối với máy chủ MySQL trong một thùng chứa trên máy trạm Ubuntu của tôi.

docker run --rm -it --net=host mysql/mysql-server mysql \
    -h 192.168.1.22 -P 13306 -u root -proot

Một trường hợp đặc biệt

Trong trường hợp chúng tôi chạy máy khách và máy chủ MySQL trong các thùng chứa riêng biệt chạy trên cùng một máy chủ - điều này có thể xảy ra khi chúng tôi thiết lập CI, chúng tôi không cần phải xây dựng hình ảnh Docker máy chủ MySQL của riêng mình. Thay vào đó, chúng ta có thể sử dụng

sudo apt-get install -y mysql-client
6 khi chúng ta chạy thùng chứa máy khách.

Để khởi động máy chủ

git clone https://github.com/wangkuiyi/mysql-server-in-docker
cd mysql-server-in-docker
0

Để bắt đầu khách hàng

git clone https://github.com/wangkuiyi/mysql-server-in-docker
cd mysql-server-in-docker
1

MySQL là một hệ thống quản lý cơ sở dữ liệu quan hệ dựa trên ngôn ngữ truy vấn có cấu trúc (SQL), ngôn ngữ được sử dụng rộng rãi nhất để truy cập và quản lý các bản ghi cơ sở dữ liệu. Theo giấy phép GNU, MySQL là phần mềm nguồn mở và phần mềm miễn phí. Oracle Corporation sao lưu nó.

Blog này nói về 3 bước bạn có thể làm theo để định cấu hình và thiết lập liền mạch container docker MySQL cho các yêu cầu kinh doanh của bạn. Nó cũng giới thiệu ngắn gọn về Docker và MySQL trước khi đi sâu vào các ưu điểm, quy trình cài đặt, cấu hình, cập nhật và quản lý các mẹo quản lý cho container docker MySQL. & NBSP;Docker MySQL Container for your business requirements. It also gives a brief introduction to Docker and MySQL before diving into the advantages, installation process, configuration, updating, and management tips for a Docker MySQL Container. 

Mục lục

  • MySQL là gì?
    • Các tính năng chính của MySQL
  • Docker là gì?
    • Các tính năng chính của Docker
  • Ưu điểm của việc chạy container docker mysql là gì?
  • Làm thế nào để cài đặt container docker mysql?
    • Bước 1: Kéo hình ảnh Docker cho MySQL
    • Bước 2: Triển khai và khởi động thùng chứa MySQL
    • Bước 3: Kết nối với container MySQL Docker
  • Làm thế nào để định cấu hình container docker mysql của bạn?
  • Thiết lập tiền thưởng: Làm thế nào để kết nối máy chủ với Docker MySQL?
  • Quản lý container docker mysql của bạn
    • Làm thế nào để bắt đầu container cho MySQL?
    • Làm thế nào để khởi động lại container cho MySQL?
    • Làm thế nào để dừng container cho MySQL?
  • Làm thế nào để xóa container docker mysql của bạn?
  • Làm thế nào để nâng cấp container MySQL dockered của bạn?
  • Cảnh báo
  • Sự kết luận

MySQL là gì?

Hướng dẫn how do i connect to a mysql docker database? - làm cách nào để kết nối với cơ sở dữ liệu docker mysql?
Các tính năng chính của MySQL

Docker là gì?39% of developers in the world back in 2019, making it the world’s most popular Database. It certainly lacks the extensive features that are provided by PostgreSQL, but it is still useful for a large number of use cases like Web Applications

Các tính năng chính của DockerLinux, Apache HTTP Server, MySQL, PHP; MySQL is the go-to choice for scalable web applications. Let’s talk about a few salient features that make MySQL such a great catch. Also, see how you can integrate from MySQL to PostgreSQL. 

Các tính năng chính của MySQL

  • Docker là gì?: Oracle owns and maintains MySQL. It also offers premium versions of MySQL with additional services, proprietary plugins, user support, and extensions. 
  • Các tính năng chính của Docker: MySQL has been around for over 20 years since its initial release in 1995.
  • Ưu điểm của việc chạy container docker mysql là gì?: MySQL is made more robust with frequent updates with new features and security improvements. The latest release is Version 8.0.23 released on 18 January 2021.
  • Làm thế nào để cài đặt container docker mysql?: MySQL recently started offering MVCC (Multi-Version Concurrency Control) features. 
  • Bước 1: Kéo hình ảnh Docker cho MySQL: A devoted community of developers is available to help with troubleshooting as and when needed.
  • Bước 2: Triển khai và khởi động thùng chứa MySQL: MySQL is also a free and Open-Source Relational Database Management System (RDBMS).
  • Bước 3: Kết nối với container MySQL Docker: MySQL is used widely by Google, NASA, Flickr, GitHub, Netflix, Tesla, Twitter, Uber, Wikipedia, YouTube, Zendesk to name a few.

Làm thế nào để định cấu hình container docker mysql của bạn?

  • Thiết lập tiền thưởng: Làm thế nào để kết nối máy chủ với Docker MySQL?
  • Quản lý container docker mysql của bạn
  • Làm thế nào để bắt đầu container cho MySQL?
  • Làm thế nào để khởi động lại container cho MySQL?
  • Đối với các câu lệnh được sử dụng nhiều lần, tồn tại một bộ đệm truy vấn. & NBSP;
  • MySQL rất dễ học và khắc phục sự cố với nhiều nguồn hữu ích như blog, giấy trắng và sách về chủ đề này. & NBSP;
  • MySQL là một hệ thống quản lý cơ sở dữ liệu rất linh hoạt và có thể mở rộng.

Docker là gì?

Hướng dẫn how do i connect to a mysql docker database? - làm cách nào để kết nối với cơ sở dữ liệu docker mysql?
Nguồn hình ảnh

Docker nhằm mục đích làm cho phát triển phần mềm có thể dự đoán và hiệu quả. Docker đạt được điều này bằng cách lấy đi các nhiệm vụ cấu hình trần tục, tẻ nhạt trong suốt vòng đời phát triển để phát triển ứng dụng dễ dàng, nhanh và di động - đám mây và máy tính để bàn. Nền tảng từ đầu đến cuối của Docker, bao gồm CLI, UI và API cùng với các biện pháp bảo mật mạnh mẽ được thiết kế để làm việc cùng nhau trong toàn bộ vòng đời phân phối ứng dụng.CLIs, UIs, and APIs along with robust security measures engineered to work together across the entire application delivery lifecycle.

Docker Container là một đơn vị phần mềm được tiêu chuẩn hóa cho phép các nhà phát triển cô lập ứng dụng của họ khỏi môi trường, do đó, giải quyết vấn đề hoạt động cục bộ. Docker đã phát triển để trở thành tiêu chuẩn để chia sẻ và xây dựng các ứng dụng container cho hầu hết hàng triệu nhà phát triển- từ đám mây đến máy tính để bàn. Với Docker, bạn có thể cài đặt từ một gói duy nhất để đứng dậy và chạy không ổn định. Do đó, bạn có thể kiểm tra và mã tại địa phương với Docker trong khi đảm bảo tính nhất quán giữa sản xuất và phát triển.

Các tính năng chính của Docker

Dưới đây là một vài tính năng nổi bật của Docker cho phép nó nổi bật trong đám đông:

  • Dễ đóng gói: Docker cho phép bạn đóng gói các ứng dụng dưới dạng hình ảnh container di động để hoạt động trong bất kỳ môi trường thuận lợi nào một cách nhất quán từ AWS ECS đến Kubernetes tại chỗ, Google GKE, Azure ACI, và nhiều hơn nữa.: Docker allows you to package applications as portable container images to function in any conducive environment consistently from AWS ECS to on-premise Kubernetes, Google GKE, Azure ACI, and so much more.
  • Pantheon lớn các hình ảnh để lựa chọn: Bạn có thể sử dụng nội dung đáng tin cậy của Docker bao gồm hình ảnh từ các nhà xuất bản đã được xác minh của Docker từ kho lưu trữ Docker Hub cùng với hình ảnh chính thức của Docker cho trường hợp sử dụng kinh doanh cụ thể của bạn.: You can use Docker Trusted Content that includes pictures from the Docker Verified Publishers from the Docker Hub Repository along with Docker Official images for your specific business use case.
  • Tích hợp liền mạch: Với Docker, bạn có thể tích hợp liền mạch với các công cụ yêu thích của mình trên đường ống phát triển của mình. Docker hoạt động tốt với tất cả các công cụ phát triển mà bạn tận dụng bao gồm Circleci, VS Code và GitHub trong số những công cụ khác.: With Docker, you can seamlessly integrate with your favorite tools across your development pipeline. Docker works well with all development tools that you leverage including CircleCI, VS Code, and GitHub among others.
  • Truy cập nhà phát triển được cá nhân hóa: Docker cho phép bạn cá nhân hóa quyền truy cập của nhà phát triển vào hình ảnh thông qua kiểm soát truy cập dựa trên vai trò. Do đó, Docker cho phép bạn trích xuất những hiểu biết sâu sắc về lịch sử hoạt động với sự trợ giúp của nhật ký kiểm toán Docker Hub.: Docker lets you personalize your developer access to images via roles-based access control. Thus, Docker allows you to extract insights into activity history with the help of Docker Hub Audit Logs.
  • Dễ triển khai: Docker cho phép bạn triển khai các ứng dụng của mình trong các thùng chứa khác nhau một cách độc lập và trong một loạt các ngôn ngữ. Do đó, bằng cách tận dụng Docker, bạn có thể giảm thiểu rủi ro xung đột giữa các thư viện, ngôn ngữ và khung.: Docker lets you deploy your applications in different containers independently and in a vast array of languages as well. Thus, by leveraging Docker you can minimize the risk of conflict between libraries, languages, and frameworks.

Ưu điểm của việc chạy container docker mysql là gì?

Bằng cách chạy một container Docker MySQL, bạn đang phát triển mã với cấu hình và cơ sở hạ tầng lặp lại, do đó tăng tốc quá trình phát triển đáng kể. Một điểm quan trọng cần lưu ý ở đây là hình ảnh Docker thường nhỏ, để bắt đầu. Ngoài ra, bạn nhận được giao hàng nhanh chóng và triển khai ngắn hơn cho các thùng chứa ứng dụng mới. Một lợi ích quan trọng khác của việc chạy bộ chứa Docker MySQL là bảo trì đơn giản. Bất cứ khi nào bạn chứa một ứng dụng, nó sẽ được cách ly với các ứng dụng khác đang chạy trong cùng một hệ thống. Vì vậy, vì các ứng dụng don lồng giữa, nó làm cho việc bảo trì ứng dụng dễ dàng hơn nhiều.

Toán tử MySQL cho Kubernetes dạy một cách hiệu quả Kubernetes những gì nó yêu cầu để chạy chính xác MySQL. Nó giáo dục Kubernetes về cách coi các cụm MySQL như một loại tài nguyên của bên thứ nhất trong API Kubernetes. Nó cũng giúp Kubernetes hiểu có bao nhiêu nút bạn có thể cần phải có một cụm HA tối thiểu trong môi trường Kubernetes của bạn. & NBSP;

Điều kiện tiên quyết

  • Cài đặt Docker cập nhật.
  • Truy cập vào một cửa sổ đầu cuối/ dòng lệnh.
  • Tài khoản người dùng có quyền truy cập vào tài khoản gốc hoặc đặc quyền sudo. & Nbsp;

Một nền tảng đường ống dữ liệu không có mã được quản lý đầy đủ như HEVO giúp bạn tích hợp dữ liệu từ hơn 100 nguồn dữ liệu (bao gồm hơn 40 nguồn dữ liệu miễn phí) như MySQL vào đích mà bạn chọn theo thời gian thực một cách dễ dàng. HEVO với đường cong học tập tối thiểu có thể được thiết lập chỉ trong vài phút cho phép người dùng tải dữ liệu mà không phải thỏa hiệp hiệu suất. Sự tích hợp mạnh mẽ của nó với các nguồn thứ mười một cung cấp cho người dùng sự linh hoạt để mang lại dữ liệu thuộc các loại khác nhau, theo kiểu trơn tru mà không phải mã hóa một dòng. & NBSP;including 40+ Free Data Sources) like MySQL to a destination of your choice in real-time in an effortless manner. Hevo with its minimal learning curve can be set up in just a few minutes allowing the users to load data without having to compromise performance. Its strong integration with umpteenth sources provides users with the flexibility to bring in data of different kinds, in a smooth fashion without having to code a single line. 

Bắt đầu với Hevo miễn phí

Kiểm tra một số tính năng thú vị của Hevo:

  • Hoàn toàn tự động: Nền tảng HEVO có thể được thiết lập chỉ trong vài phút và yêu cầu bảo trì tối thiểu. The Hevo platform can be set up in just a few minutes and requires minimal maintenance.
  • Chuyển dữ liệu thời gian thực: HEVO cung cấp di chuyển dữ liệu thời gian thực, vì vậy bạn có thể luôn có dữ liệu sẵn sàng phân tích. Hevo provides real-time data migration, so you can have analysis-ready data always.
  • Biến đổi: Hevo cung cấp các phép biến đổi trước thông qua mã Python. Nó cũng cho phép bạn chạy mã chuyển đổi cho mỗi sự kiện trong các đường ống dữ liệu bạn đã thiết lập. Bạn cần chỉnh sửa các thuộc tính của đối tượng sự kiện nhận được trong phương thức biến đổi dưới dạng tham số để thực hiện chuyển đổi. Hevo cũng cung cấp các phép biến đổi kéo và thả như các chức năng ngày và kiểm soát, JSON và thao tác sự kiện để đặt tên cho một số. Chúng có thể được cấu hình và kiểm tra trước khi đưa chúng vào sử dụng.: Hevo provides preload transformations through Python code. It also allows you to run transformation code for each event in the Data Pipelines you set up. You need to edit the event object’s properties received in the transform method as a parameter to carry out the transformation. Hevo also offers drag and drop transformations like Date and Control Functions, JSON, and Event Manipulation to name a few. These can be configured and tested before putting them to use.
  • Đầu nối: HEVO hỗ trợ hơn 100 tích hợp cho các nền tảng, tệp, cơ sở dữ liệu, phân tích và công cụ BI. Nó hỗ trợ các điểm đến khác nhau bao gồm Amazon Redshift, Firebolt, kho dữ liệu Bông tuyết; Databricks, Amazon S3 Data Lakes; MySQL, SQL Server, Tokudb, DynamoDB, PostgreSQL cơ sở dữ liệu để đặt tên cho một số. & NBSP; & nbsp;: Hevo supports 100+ Integrations to SaaS platforms, files, databases, analytics, and BI tools. It supports various destinations including Amazon Redshift, Firebolt, Snowflake Data Warehouses; Databricks, Amazon S3 Data Lakes; MySQL, SQL Server, TokuDB, DynamoDB, PostgreSQL databases to name a few.  
  • Truyền dữ liệu hoàn chỉnh và chính xác 100%: Cơ sở hạ tầng mạnh mẽ của Hevo, đảm bảo truyền dữ liệu đáng tin cậy với mất dữ liệu bằng không. Hevo’s robust infrastructure ensures reliable data transfer with zero data loss.
  • Cơ sở hạ tầng có thể mở rộng: HEVO có tích hợp được xây dựng cho hơn 100 nguồn, có thể giúp bạn mở rộng cơ sở hạ tầng dữ liệu của mình theo yêu cầu. Hevo has in-built integrations for 100+ sources, that can help you scale your data infrastructure as required.
  • Hỗ trợ trực tiếp 24/7: Nhóm HEVO có sẵn vòng quanh để mở rộng hỗ trợ đặc biệt cho bạn thông qua trò chuyện, email và các cuộc gọi hỗ trợ. The Hevo team is available round the clock to extend exceptional support to you through chat, email, and support calls.
  • Quản lý lược đồ: Hevo lấy đi nhiệm vụ tẻ nhạt của quản lý lược đồ và tự động phát hiện lược đồ của dữ liệu đến và ánh xạ nó đến lược đồ đích. Hevo takes away the tedious task of schema management & automatically detects the schema of incoming data and maps it to the destination schema.
  • Giám sát trực tiếp: HEVO cho phép bạn theo dõi luồng dữ liệu để bạn có thể kiểm tra nơi dữ liệu của bạn tại một thời điểm cụ thể. Hevo allows you to monitor the data flow so you can check where your data is at a particular point in time.

Đơn giản hóa phân tích dữ liệu của bạn với Hevo ngày hôm nay! & NBSP;

Đăng ký tại đây để dùng thử miễn phí 14 ngày!

Làm thế nào để cài đặt container docker mysql?

Dưới đây là các bước bạn có thể làm theo để cài đặt container Dockerhub MySQL:

  • Bước 1: Kéo hình ảnh Docker cho MySQL
  • Bước 2: Triển khai và khởi động thùng chứa MySQL
  • Bước 3: Kết nối với container MySQL Docker

Bước 1: Kéo hình ảnh Docker cho MySQL

  • Bước 2: Triển khai và khởi động thùng chứa MySQL
git clone https://github.com/wangkuiyi/mysql-server-in-docker
cd mysql-server-in-docker
2
  • Bước 3: Kết nối với container MySQL Docker
Hướng dẫn how do i connect to a mysql docker database? - làm cách nào để kết nối với cơ sở dữ liệu docker mysql?
Bắt đầu bằng cách chụp ảnh Docker thích hợp cho MySQL. Bạn có thể tải xuống một phiên bản cụ thể hoặc chọn bản phát hành mới nhất như được mô tả trong đoạn mã sau:
  • Tuy nhiên, nếu bạn muốn có một phiên bản cụ thể của MySQL, bạn cần sửa đổi giá trị mới nhất với số phiên bản như trong hình dưới đây:
git clone https://github.com/wangkuiyi/mysql-server-in-docker
cd mysql-server-in-docker
3
  • Nguồn hình ảnh
Hướng dẫn how do i connect to a mysql docker database? - làm cách nào để kết nối với cơ sở dữ liệu docker mysql?
Bắt đầu bằng cách chụp ảnh Docker thích hợp cho MySQL. Bạn có thể tải xuống một phiên bản cụ thể hoặc chọn bản phát hành mới nhất như được mô tả trong đoạn mã sau:

Bước 2: Triển khai và khởi động thùng chứa MySQL

  • Bước 3: Kết nối với container MySQL Docker
git clone https://github.com/wangkuiyi/mysql-server-in-docker
cd mysql-server-in-docker
4
  • Bắt đầu bằng cách chụp ảnh Docker thích hợp cho MySQL. Bạn có thể tải xuống một phiên bản cụ thể hoặc chọn bản phát hành mới nhất như được mô tả trong đoạn mã sau:
  • Tuy nhiên, nếu bạn muốn có một phiên bản cụ thể của MySQL, bạn cần sửa đổi giá trị mới nhất với số phiên bản như trong hình dưới đây:Container as a Service in the background. Next, amend the [image_tag_name] with the name of the image you downloaded in the previous step. For this example, you can create a container called mysql_docker with the latest version tag based on the following code snippet:
git clone https://github.com/wangkuiyi/mysql-server-in-docker
cd mysql-server-in-docker
5
  • Nguồn hình ảnh
git clone https://github.com/wangkuiyi/mysql-server-in-docker
cd mysql-server-in-docker
6
  • Cuối cùng, bạn cần xác minh rằng hình ảnh hiện được lưu trữ cục bộ bằng cách liệt kê các hình ảnh docker đã tải xuống:starting to healthy, once you have completed the setup process. 
Hướng dẫn how do i connect to a mysql docker database? - làm cách nào để kết nối với cơ sở dữ liệu docker mysql?
Bắt đầu bằng cách chụp ảnh Docker thích hợp cho MySQL. Bạn có thể tải xuống một phiên bản cụ thể hoặc chọn bản phát hành mới nhất như được mô tả trong đoạn mã sau:

Bước 3: Kết nối với container MySQL Docker

  • Bắt đầu bằng cách chụp ảnh Docker thích hợp cho MySQL. Bạn có thể tải xuống một phiên bản cụ thể hoặc chọn bản phát hành mới nhất như được mô tả trong đoạn mã sau:
git clone https://github.com/wangkuiyi/mysql-server-in-docker
cd mysql-server-in-docker
7
  • Tuy nhiên, nếu bạn muốn có một phiên bản cụ thể của MySQL, bạn cần sửa đổi giá trị mới nhất với số phiên bản như trong hình dưới đây:
git clone https://github.com/wangkuiyi/mysql-server-in-docker
cd mysql-server-in-docker
8
  • Nguồn hình ảnh
git clone https://github.com/wangkuiyi/mysql-server-in-docker
cd mysql-server-in-docker
9
  • Cuối cùng, bạn cần xác minh rằng hình ảnh hiện được lưu trữ cục bộ bằng cách liệt kê các hình ảnh docker đã tải xuống:[Entrypoint] GENERATED ROOT PASSWORD:’. Next, copy and paste the password in a text editor or a notepad for future use. 
Hướng dẫn how do i connect to a mysql docker database? - làm cách nào để kết nối với cơ sở dữ liệu docker mysql?
Bắt đầu bằng cách chụp ảnh Docker thích hợp cho MySQL. Bạn có thể tải xuống một phiên bản cụ thể hoặc chọn bản phát hành mới nhất như được mô tả trong đoạn mã sau:
  • Tuy nhiên, nếu bạn muốn có một phiên bản cụ thể của MySQL, bạn cần sửa đổi giá trị mới nhất với số phiên bản như trong hình dưới đây:
docker build -t mysql:yi .
0
  • Nguồn hình ảnh
docker build -t mysql:yi .
1
  • Cuối cùng, bạn cần xác minh rằng hình ảnh hiện được lưu trữ cục bộ bằng cách liệt kê các hình ảnh docker đã tải xuống:
Hướng dẫn how do i connect to a mysql docker database? - làm cách nào để kết nối với cơ sở dữ liệu docker mysql?
Bắt đầu bằng cách chụp ảnh Docker thích hợp cho MySQL. Bạn có thể tải xuống một phiên bản cụ thể hoặc chọn bản phát hành mới nhất như được mô tả trong đoạn mã sau:
  • Tuy nhiên, nếu bạn muốn có một phiên bản cụ thể của MySQL, bạn cần sửa đổi giá trị mới nhất với số phiên bản như trong hình dưới đây:
docker build -t mysql:yi .
2
  • Đối với lệnh trên, hãy thay thế mệnh đề [NewPassword] bằng mật khẩu mạnh mong muốn.
Hướng dẫn how do i connect to a mysql docker database? - làm cách nào để kết nối với cơ sở dữ liệu docker mysql?
Nguồn hình ảnh

Làm thế nào để định cấu hình container docker mysql của bạn?

Nếu bạn muốn xem qua cấu hình của container MySQL Docker, bạn có thể tìm thấy nó trong thư mục ‘/etc/mysql/my.cnf=. Nếu bạn muốn sửa đổi cấu hình, bạn cần tạo một tệp cấu hình thay thế trên máy chủ và gắn chúng bên trong thùng chứa Docker MySQL./etc/mysql/my.cnf=’ directory. If you want to modify the configuration, you need to create an alternative config file on the host machine and mount them inside the Docker MySQL Container.

  • Bước 1: Tạo một thư mục mới trên máy chủ với đoạn mã này:: Create a new directory on the host machine with this code snippet:
docker build -t mysql:yi .
3
  • Bước 2: Tiếp theo, bạn cần tạo tệp cấu hình MySQL tùy chỉnh trong thư mục đó với lệnh sau:: Next, you need to create a customized MySQL config file within that directory with the following command:
docker build -t mysql:yi .
4
  • Bước 3: Sau khi mở tệp, bạn có thể thêm các dòng với cấu hình mong muốn của mình. Chẳng hạn, nếu bạn muốn tăng số lượng kết nối tối đa lên 250 (trái ngược với giá trị mặc định 151), bạn có thể thêm các dòng sau vào tệp cấu hình:: Having opened the file, you can add lines with your desired configuration. For instance, if you want to increment the maximum number of connections to 250 (as opposed to the default value 151), you can add the following lines to the configuration file:
docker build -t mysql:yi .
5Image Nguồn
Hướng dẫn how do i connect to a mysql docker database? - làm cách nào để kết nối với cơ sở dữ liệu docker mysql?
Image Source

Bạn có thể thay đổi cấu hình phiên bản MySQL bằng cách chuyển một hoặc nhiều biến môi trường cho dòng lệnh docker chạy khi bắt đầu hình ảnh MySQL. Nếu bạn bắt đầu container với thư mục dữ liệu đã chứa cơ sở dữ liệu, không có biến nào dưới đây sẽ có bất kỳ hiệu ứng nào: bất kỳ cơ sở dữ liệu nào có sẵn sẽ bị bỏ qua khi container bắt đầu.

Bạn có thể thay đổi cấu hình phiên bản MySQL bằng cách chuyển một hoặc nhiều biến môi trường cho dòng lệnh docker chạy khi bắt đầu hình ảnh MySQL. Nếu bạn bắt đầu container với thư mục dữ liệu đã chứa cơ sở dữ liệu, không có biến nào dưới đây sẽ có bất kỳ hiệu ứng nào: bất kỳ cơ sở dữ liệu nào có sẵn sẽ bị bỏ qua khi container bắt đầu.environment variables to the docker run command line when starting the mysql image. If you start the container with a data directory that already contains a database, none of the variables below will have any effect: any pre-existing database will be ignored when the container starts.

Mật khẩu gốc MySQL Đây là một biến bắt buộc chỉ định mật khẩu cho tài khoản Superuser gốc MySQL. Nó đã được đặt thành My-secret-pw trong ví dụ trên.
This is a required variable that specifies the password for the MySQL root superuser account. It was set to my-secret-pw in the example above.

Biến dữ liệu MySQL là tùy chọn và cho phép bạn đặt tên cho cơ sở dữ liệu sẽ được tạo khi hình ảnh khởi động. Nếu người dùng/mật khẩu được cung cấp (xem bên dưới), người dùng đó sẽ được cấp quyền truy cập Superuser vào cơ sở dữ liệu này (tương ứng với tất cả).
This variable is optional and allows you to name a database that will be created when the image starts up. If a user/password was provided (see below), that user will be granted superuser access to this database (corresponding to GRANT ALL).

Mật khẩu người dùng MySQL và Mật khẩu MySQL là hai biến trong MySQL. Các biến này là tùy chọn và được sử dụng để tạo người dùng mới và đặt mật khẩu cho người dùng đó. Đối với cơ sở dữ liệu được chỉ định bởi biến cơ sở dữ liệu MySQL, người dùng này sẽ được cấp các quyền của Superuser (xem ở trên). Cả hai biến phải có mặt để tạo người dùng.and MYSQL PASSWORD are two variables in MySQL.
These variables are optional and are used to create a new user and set the password for that user. For the database specified by the MYSQL DATABASE variable, this user will be granted superuser permissions (see above). Both variables must be present in order to create a user.

Nó đáng chú ý rằng cơ chế này không được yêu cầu để tạo ra siêu người dùng gốc; Người dùng đó được tự động tạo bằng mật khẩu được chỉ định bởi biến mật khẩu gốc MySQL.

MySQL cho phép mật khẩu trống này là một biến không bắt buộc. Được đặt thành giá trị không trống, chẳng hạn như có, để cho phép container bắt đầu với trống mật khẩu của người dùng gốc. Lưu ý: Nếu bạn đặt biến này thành Có, phiên bản MySQL của bạn sẽ hoàn toàn không được bảo vệ, cho phép bất cứ ai có được quyền truy cập Superuser hoàn chỉnh.
This is a non-mandatory variable. Set to a non-empty value, such as yes, to allow the container to start with the root user’s password blank. NOTE: If you set this variable to yes, your MySQL instance will be completely unprotected, allowing anyone to gain complete superuser access.

Mật khẩu gốc ngẫu nhiên MySQL Đây là một biến không bắt buộc. Để tạo mật khẩu ban đầu ngẫu nhiên cho người dùng gốc, được đặt thành giá trị không trống, chẳng hạn như có (sử dụng PwGen). Mật khẩu gốc được tạo và in thành stdout (được tạo mật khẩu gốc: Mạnh ..).
This is a non-mandatory variable. To generate a random initial password for the root user, set to a non-empty value, such as yes (using pwgen). The root password is generated and printed to stdout (GENERATED ROOT PASSWORD: …..).

MySQL Onetime PasswordEne Initit hoàn thành, người dùng gốc (không phải người dùng được chỉ định trong người dùng MySQL!) Được đánh dấu là hết hạn, yêu cầu thay đổi mật khẩu trên đăng nhập đầu tiên. Cài đặt này được kích hoạt bởi bất kỳ giá trị không trống nào. Lưu ý: Tính năng này chỉ có sẵn trong MySQL 5.6 trở lên. Khi sử dụng tùy chọn này với MySQL 5.5, một lỗi thích hợp sẽ được ném trong quá trình khởi tạo.
Once init is complete, the root (not the user specified in MYSQL USER!) user is marked as expired, requiring a password change on the first login. This setting is activated by any non-empty value. NOTE: This feature is only available in MySQL 5.6 and higher. When using this option with MySQL 5.5, an appropriate error will be thrown during initialization.

MySQL initdb bỏ qua dữ liệu múi giờ tzinfothe cần thiết cho hàm chuyển đổi tz () được tải tự động theo mặc định bởi tập lệnh EntryPoint. Bất kỳ giá trị không trống nào sẽ vô hiệu hóa tải thời gian tải nếu nó không bắt buộc.
The timezone data required for the CONVERT TZ() function is loaded automatically by default by the entrypoint script. Any non-empty value disables timezone loading if it is not required.

  • Bước 4: Lưu tệp và thoát. Bây giờ, để các thay đổi có hiệu lực, bạn cần chạy lại thùng chứa MySQL sau khi loại bỏ nó. Đối với điều này, container tận dụng sự kết hợp của các cài đặt cấu hình từ tệp mới được tạo cùng với các tệp cấu hình mặc định. Bạn có thể chạy bộ chứa Docker MySQL và ánh xạ đường dẫn âm lượng bằng đoạn mã sau:: Save the file and exit. Now, for the changes to take effect you need to rerun the MySQL Container after removing it. For this, the container leverages a combination of configuration settings from the newly created file along with the default config files. You can run the Docker MySQL Container and map the volume path with the following code snippet:
docker build -t mysql:yi .
6
  • Bước 5: Bây giờ, để kiểm tra xem container MySQL Docker có tải cấu hình từ máy chủ hay không, bạn có thể chạy lệnh sau:: Now, to check if the Docker MySQL Container has loaded the configuration from the host, you can run the following command:
docker build -t mysql:yi .
7
  • Bước 6: Bây giờ bạn có thể kiểm tra số lượng kết nối tối đa cho container Docker MySQL của bạn. Nó sẽ hiển thị 250 kết nối.: You can now check the maximum number of connections for your Docker MySQL Container. It should show 250 connections.

Thiết lập tiền thưởng: Làm thế nào để kết nối máy chủ với Docker MySQL?

  • Bước 1: Bắt đầu container và ánh xạ nó đến một cổng cục bộ để bắt đầu quá trình. Trong bước này, bạn sẽ ánh xạ cổng từ container Docker đến một cổng trên Localhost có thể được sử dụng để kết nối với MySQL. Đầu tiên, bạn cần xóa bộ chứa mà bạn đã tạo bằng bộ lệnh sau:: Start the container and map it to a local port to begin the process. In this step, you will be mapping the port from the Docker Container to a port on localhost which can be used to connect to MySQL. First, you need to remove the container you created with the following set of commands:
docker build -t mysql:yi .
8
  • Bước 2: Sau khi tháo container, bạn có thể bắt đầu một thùng chứa mới với cùng một hình ảnh MySQL và ánh xạ cổng Docker đến cổng localhost. Bạn có thể làm điều này với sự trợ giúp của lệnh sau:: After removing the container, you can start a new container with the same MySQL Image and map the Docker port to the localhost port. You can do this with the help of the following command:
docker build -t mysql:yi .
9
  • Bước 3: Tiếp theo, bạn cần đảm bảo rằng không có lỗi sau khi lệnh trên đã được thực thi. Nếu mọi thứ hoạt động tốt, lệnh trên sẽ in ra ID container được tạo. & NBSP;: Next, you need to make sure that there are no errors after the above command has been executed. If everything works out fine, the above command would print out a generated container ID. 
  • Bước 4: Sau khi bắt đầu container, bạn cần kết nối với MySQL từ localhost bằng cách sử dụng công cụ GUI như MySQL Workbench hoặc dòng lệnh.: After starting the container, you need to connect to MySQL from localhost by either using a GUI tool like MySQL Workbench or the command-line.
  • Bước 5: Đối với dòng lệnh, bạn có thể sử dụng đoạn trích này để bắt đầu mọi thứ:: For the command line, you can use this snippet to get things started:
docker run --rm -d -p 23306:3306 mysql:yi
0
  • Bước 6: Sau khi bạn thực hiện lệnh, bạn sẽ thấy rằng bạn được kết nối với một phiên bản MySQL dựa trên Docker. Bạn có thể chạy bất kỳ lệnh nào để kiểm tra xem nó có hoạt động tốt không. & NBSP;: After you’ve executed the command, you will see that you are connected to a Docker-based MySQL instance. You can run any command to check if it’s working fine. 

Quản lý container docker mysql của bạn

  • Bước 1: Docker lưu trữ dữ liệu theo khối lượng nội bộ theo mặc định, vì vậy, để kiểm tra vị trí của khối lượng bên trong Docker, bạn có thể sử dụng đoạn mã sau:: Docker stores data in its internal volume by default, so, to check the location of Docker’s internal volumes you can use the following code snippet:
docker run --rm -d -p 23306:3306 mysql:yi
1
  • Bước 2: Đối với lệnh này, bạn có thể thấy/var/lib/mysql được gắn trong khối lượng bên trong.: For this command, you can see the /var/lib/mysql mounted in the internal volume.
Hướng dẫn how do i connect to a mysql docker database? - làm cách nào để kết nối với cơ sở dữ liệu docker mysql?
Nguồn hình ảnh
  • Bước 3: Bạn thậm chí có thể sửa đổi vị trí của thư mục dữ liệu và thay vào đó, hãy tạo một thư mục tồn tại trên máy chủ của container Docker MySQL của bạn. Có một âm lượng bên ngoài container cho phép các công cụ và ứng dụng khác truy cập vào các tập khi được yêu cầu.: You can even modify the location of the data directory and make one that exists on the host of your Docker MySQL Container instead. Having a volume outside the container lets other tools and applications access the volumes when required.
  • Bước 4: Tiếp theo, bạn cần tìm một âm lượng thích hợp của máy chủ và tạo thư mục dữ liệu trên đó với đoạn mã sau:: Next, you need to find an appropriate volume of the host and make a data directory on it with the following code snippet:
docker run --rm -d -p 23306:3306 mysql:yi
2
  • Bước 5: Sau khi thực thi lệnh trước đó, hãy khởi động lại container bằng cách gắn thư mục được tạo trước đó với lệnh này:: After executing the previous command, start the container again by mounting the previously created directory with this command:
docker run --rm -d -p 23306:3306 mysql:yi
3
  • Bước 6: Nếu bạn kiểm tra container, bạn sẽ có thể nhìn trộm dữ liệu trong thùng chứa Docker MySQL và nhận ra rằng nó được lưu trữ trên hệ thống máy chủ ngay bây giờ.: If you inspect the container, you should be able to peek at the data within Docker MySQL Container and realize that it’s stored on the host system now.

Sudo Docker Kiểm tra [Container_Name]

Dưới đây là một vài thành phần thiết yếu để giúp bạn quản lý Docker Compose MySQL Container:

  • Làm thế nào để bắt đầu container cho MySQL?
  • Làm thế nào để khởi động lại container cho MySQL?
  • Làm thế nào để dừng container cho MySQL?

Làm thế nào để bắt đầu container cho MySQL?

Làm thế nào để khởi động lại container cho MySQL?

Làm thế nào để dừng container cho MySQL?

Làm thế nào để khởi động lại container cho MySQL?

Làm thế nào để dừng container cho MySQL?

docker run --rm -d -p 23306:3306 mysql:yi
5

Làm thế nào để dừng container cho MySQL?

Đoạn mã bạn có thể sử dụng để khởi động container Docker MySQL như sau:

docker run --rm -d -p 23306:3306 mysql:yi
6

docker run --rm -d -p 23306:3306 mysql:yi 4

Đoạn mã bạn có thể sử dụng để khởi động lại bộ chứa Docker MySQL như sau:

Đoạn mã mà bạn có thể sử dụng để dừng container Docker MySQL như sau:
Hướng dẫn how do i connect to a mysql docker database? - làm cách nào để kết nối với cơ sở dữ liệu docker mysql?
Image Source

Làm thế nào để xóa container docker mysql của bạn?

Nếu bạn muốn xóa container Docker MySQL, bạn cần đảm bảo rằng bạn đã dừng nó trước. Tiếp theo, bạn có thể xóa thùng chứa Docker bằng đoạn mã sau:

  • Nguồn
    docker run --rm -d -p 23306:3306 mysql:yi
    
    7Image
    : Stop the MySQL Server for this instance using the code snippet mentioned below:
docker run --rm -d -p 23306:3306 mysql:yi
8
  • Làm thế nào để nâng cấp container MySQL dockered của bạn?: Next, download the MySQL 8.0 Server Docker image and make sure that you have the right tag for MySQL 8.0.
  • Để nâng cấp container Docker MySQL, bạn có thể làm theo các bước được đề cập dưới đây:: Start a new MySQL 8.0 Docker Container with the old configuration and server data that have been applied on the host. Run the following command for the same:
docker run --rm -d -p 23306:3306 mysql:yi
9
  • Bước 1: Dừng máy chủ MySQL cho trường hợp này bằng cách sử dụng đoạn mã được đề cập dưới đây:: Now, you need to wait for the server to finish startup. You can check the status of the server with the docker ps command.
  • Bước 2: Tiếp theo, hãy tải xuống hình ảnh Docker máy chủ MySQL 8.0 và đảm bảo rằng bạn có thẻ phù hợp cho MySQL 8.0.: For earlier versions of MySQL, you need to run the mysql_upgrade utility in the MySQL 8.0 Server Container as follows:
sudo apt-get install -y mysql-client
0
  • Bước 3: Bắt đầu một thùng chứa Docker MySQL 8.0 mới với cấu hình cũ và dữ liệu máy chủ đã được áp dụng trên máy chủ. Chạy lệnh sau cho cùng:: Enter the root password for your old MySQL Server and finish the upgrade by restarting the MySQL Server Container as follows:
sudo apt-get install -y mysql-client
1

Bước 4: Bây giờ, bạn cần đợi máy chủ hoàn thành khởi động. Bạn có thể kiểm tra trạng thái của máy chủ với lệnh Docker PS.

  • Bước 5: Đối với các phiên bản trước của MySQL, bạn cần chạy tiện ích mysql_upgrade trong thùng chứa máy chủ MySQL 8.0 như sau:: Data is stored in a variety of ways by applications that run in Docker containers. Users of the mysql images should become familiar with the options available, which include:
    • Bước 6: Nhập mật khẩu gốc cho máy chủ MySQL cũ của bạn và hoàn thành việc nâng cấp bằng cách khởi động lại thùng chứa máy chủ MySQL như sau:
    • Cảnh báo

Tài liệu Docker là một nơi tốt để bắt đầu tìm hiểu về các tùy chọn và biến thể lưu trữ khác nhau, và có một số blog và bài đăng trên diễn đàn thảo luận và đưa ra lời khuyên trong lĩnh vực này. Đối với tùy chọn sau, chúng tôi sẽ chỉ hiển thị quy trình cơ bản ở đây:

Tạo một thư mục dữ liệu, chẳng hạn như/my/own/datadir, trên một khối lượng phù hợp trên hệ thống máy chủ của bạn.

Bắt đầu thùng chứa MySQL của bạn như sau:

-V/my/own/datadir:/var/lib/mysql -e mysql root password = my -secret -pw -d docker chạy Phần LIB/MySQL của lệnh giới thiệu thư mục của hệ thống máy chủ bên dưới/my/own/datadir AS/var/lib/mysql bên trong container, trong đó MySQL sẽ ghi các tệp dữ liệu của nó theo mặc định.
The -v /my/own/datadir:/var/lib/mysql part of the command mounts the underlying host system’s /my/own/datadir directory as /var/lib/mysql inside the container, where MySQL will write its data files by default.

  • Không có kết nối cho đến khi MySQL init hoàn thành: Cơ sở dữ liệu mặc định sẽ được tạo nếu không có cơ sở dữ liệu được khởi tạo khi container bắt đầu. Mặc dù đây là hành vi bình thường, nó có nghĩa là nó sẽ không chấp nhận các kết nối đến cho đến khi khởi tạo hoàn tất. Điều này có thể gây ra vấn đề khi sử dụng các công cụ tự động hóa như Docker-Compose, bắt đầu nhiều container cùng một lúc. Nếu ứng dụng mà bạn đang cố gắng kết nối với MySQL không xử lý thời gian chết của MySQL hoặc chờ dịch vụ bắt đầu một cách duyên dáng, có thể cần một vòng lặp kết nối trước khi dịch vụ bắt đầu. Xem WordPress hoặc Bonita để biết ví dụ về việc triển khai như vậy trong các hình ảnh chính thức.: A default database will be created if there is no database initialised when the container starts. While this is normal behaviour, it means that it will not accept incoming connections until the initialization is complete. This could cause problems when using automation tools like docker-compose, which start multiple containers at the same time. If the application you’re trying to connect to MySQL doesn’t handle MySQL downtime or waiting for the service to start gracefully, a connect-retry loop may be required before the service starts. See WordPress or Bonita for an example of such an implementation in the official images.
  • Việc sử dụng đối với cơ sở dữ liệu hiện có: Biến mật khẩu gốc $ MySQL nên được bỏ qua khỏi dòng lệnh RUN nếu bạn bắt đầu phiên bản chứa MySQL của mình với thư mục dữ liệu đã chứa cơ sở dữ liệu (cụ thể là thư mục con MySQL); Nó sẽ bị bỏ qua trong mọi trường hợp và cơ sở dữ liệu trước đó sẽ không được thay đổi.: The $MYSQL ROOT PASSWORD variable should be omitted from the run command line if you start your mysql container instance with a data directory that already contains a database (specifically, a mysql subdirectory); it will be ignored in any case, and the pre-existing database will not be changed.
  • Chạy như một người dùng tùy ý: Nếu bạn biết quyền thư mục của mình đã được đặt chính xác (ví dụ: nếu bạn đang chạy chống lại cơ sở dữ liệu hiện có, như được mô tả ở trên) hoặc nếu bạn cần chạy MySQLD với UID/GID cụ thể, bạn Có thể sử dụng hình ảnh này với bộ được đặt thành bất kỳ giá trị nào (ngoài root/0) để có được truy cập/cấu hình mong muốn:: If you know your directory permissions are already set correctly (for example, if you’re running against an existing database, as described above), or if you need to run mysqld with a specific UID/GID, you can use this image with —user set to any value (other than root/0) to get the desired access/configuration:
sudo apt-get install -y mysql-client
2
  • Tạo các kết xuất cơ sở dữ liệu: Phần lớn các công cụ tiêu chuẩn sẽ hoạt động, mặc dù việc sử dụng chúng có thể hơi phức tạp trong một số trường hợp để đảm bảo truy cập vào máy chủ MySQLD. Sử dụng Docker Exec và chạy công cụ từ cùng một thùng chứa, như được hiển thị bên dưới, là một cách đơn giản để đảm bảo điều này:: The majority of standard tools will work, though their use may be a little convoluted in some cases to ensure access to the mysqld server. Using docker exec and running the tool from the same container, as shown below, is a simple way to ensure this:
sudo apt-get install -y mysql-client
3
  • Khôi phục dữ liệu từ các tập tin kết xuất: Để khôi phục dữ liệu. Bạn có thể sử dụng cờ -i với lệnh docker Exec, như được hiển thị bên dưới:: For data recovery. You can use the -i flag with the docker exec command, as shown below:
sudo apt-get install -y mysql-client
4

Sự kết luận

Blog này nói về các bước khác nhau mà bạn có thể làm theo để thiết lập container Docker MySQL sau khi giới thiệu ngắn gọn về các tính năng nổi bật của MySQL và Docker. Nó cũng bao gồm các lợi thế của việc tận dụng các thùng chứa Docker MySQL và các mẹo cấu hình và quản lý tiện dụng khác nhau.Docker MySQL Container after a brief introduction to the salient features of MySQL and Docker. It also covers the advantages of leveraging Docker MySQL Containers and various handy management and configuration tips.

Trích xuất dữ liệu phức tạp từ một bộ nguồn dữ liệu đa dạng để thực hiện một phân tích sâu sắc có thể là một thách thức, và đây là nơi Hevo tiết kiệm trong ngày! HEVO cung cấp một cách nhanh hơn để di chuyển dữ liệu từ cơ sở dữ liệu hoặc các ứng dụng SaaS như MySQL vào kho dữ liệu của bạn để được hiển thị trong một công cụ BI. Hevo hoàn toàn tự động và do đó không yêu cầu bạn mã hóa.Hevo saves the day! Hevo offers a faster way to move data from Databases or SaaS applications like MySQL into your Data Warehouse to be visualized in a BI tool. Hevo is fully automated and hence does not require you to code.

Ghé thăm trang web của chúng tôi để khám phá Hevo

Bạn muốn đưa Hevo cho một vòng quay?

Đăng ký và trải nghiệm bộ Hevo giàu tính năng đầu tiên. Bạn cũng có thể xem xét giá vô địch sẽ giúp bạn chọn đúng kế hoạch cho nhu cầu kinh doanh của mình.

Tôi có thể sử dụng mysql với docker không?

MySQL là một trong những cơ sở dữ liệu quan hệ tương thích SQL phổ biến nhất.Chạy MySQL bên trong container Docker cho phép bạn tách cơ sở dữ liệu của mình khỏi mã của mình.Bạn cũng có thể sử dụng một dàn nhạc container như Kubernetes để mở rộng quy mô MySQL độc lập với thể hiện máy chủ API của bạn.Running MySQL inside a Docker container lets you separate your database from your code. You can also use a container orchestrator like Kubernetes to scale MySQL independently of your API server instance.

Không thể kết nối với máy chủ MySQL trên Docker?

Thông thường có nghĩa là không có máy chủ MySQL chạy trên hệ thống hoặc bạn đang sử dụng tên tệp unix không chính xác hoặc số cổng TCP/IP khi cố gắng kết nối với máy chủ.Bạn cũng nên kiểm tra xem cổng TCP/IP bạn đang sử dụng chưa bị chặn bởi tường lửa hoặc dịch vụ chặn cổng.there is no MySQL server running on the system or that you are using an incorrect Unix socket file name or TCP/IP port number when trying to connect to the server. You should also check that the TCP/IP port you are using has not been blocked by a firewall or port blocking service.

Làm thế nào để container docker kết nối với cơ sở dữ liệu cục bộ?

Làm cách nào để kết nối cơ sở dữ liệu Postgres cục bộ với container Docker ?..
Nhận địa chỉ IP cục bộ, tương tự như 192.168.1.111 (sử dụng IPConfig trong hệ thống dựa trên Linux).
Lên bên trong Docker bằng Docker Exec -it.
Hãy thử lệnh ping ping 192.168 ..
Hãy thử lệnh telnet telnet 192.168 ..