MySQL Docker image do nhóm MySQL duy trì được xây dựng dành riêng cho nền tảng Linux. Các nền tảng khác không được hỗ trợ và người dùng sử dụng các hình ảnh MySQL Docker này trên chúng đang tự chịu rủi ro khi làm như vậy. Xem phần thảo luận tại đây để biết một số hạn chế đã biết đối với việc chạy các bộ chứa này trên các hệ điều hành không phải Linux
Tải xuống hình ảnh Docker của máy chủ MySQLTải xuống hình ảnh máy chủ trong một bước riêng biệt là không cần thiết; . Để tải xuống hình ảnh Máy chủ Cộng đồng MySQL, hãy chạy lệnh này
docker pull mysql/mysql-server:tag
$> docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
mysql/mysql-server latest 3157d7f55f8d 4 weeks ago 241MB
5 là nhãn cho phiên bản hình ảnh bạn muốn kéo [ví dụ: $> docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
mysql/mysql-server latest 3157d7f55f8d 4 weeks ago 241MB
6, $> docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
mysql/mysql-server latest 3157d7f55f8d 4 weeks ago 241MB
7, $> docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
mysql/mysql-server latest 3157d7f55f8d 4 weeks ago 241MB
8, $> docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
mysql/mysql-server latest 3157d7f55f8d 4 weeks ago 241MB
9 hoặc docker run --name=mysql1 -d mysql/mysql-server:tag
0]. Nếu bỏ qua $> docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
mysql/mysql-server latest 3157d7f55f8d 4 weeks ago 241MB
2, nhãn docker run --name=mysql1 -d mysql/mysql-server:tag
0 sẽ được sử dụng và hình ảnh cho phiên bản GA mới nhất của Máy chủ cộng đồng MySQL được tải xuống. Tham khảo danh sách các thẻ cho các phiên bản có sẵn trên trang mysql/mysql-server trong Docker HubBạn có thể liệt kê các hình ảnh Docker đã tải xuống bằng lệnh này
$> docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
mysql/mysql-server latest 3157d7f55f8d 4 weeks ago 241MB
Khởi động phiên bản máy chủ MySQLBắt đầu bộ chứa Docker mới cho Máy chủ MySQL bằng lệnh này
docker run --name=mysql1 -d mysql/mysql-server:tag
Tùy chọn
docker run --name=mysql1 -d mysql/mysql-server:tag
3, để cung cấp tên tùy chỉnh cho bộ chứa máy chủ của bạn [trong ví dụ là ___64], là tùy chọn; . Nếu hình ảnh Docker của tên và thẻ được chỉ định chưa được tải xuống bởi lệnh docker pull hoặc docker run trước đó, hình ảnh hiện đã được tải xuống. Sau khi quá trình tải xuống hoàn tất, quá trình khởi tạo cho vùng chứa sẽ bắt đầu và vùng chứa sẽ xuất hiện trong danh sách các vùng chứa đang chạy khi bạn chạy lệnh docker ps; $> docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
mysql/mysql-server latest 3157d7f55f8d 4 weeks ago 241MB
3Quá trình khởi tạo vùng chứa có thể mất chút thời gian. Khi máy chủ đã sẵn sàng để sử dụng,
docker run --name=mysql1 -d mysql/mysql-server:tag
5 của vùng chứa trong đầu ra của lệnh docker ps sẽ thay đổi từ docker run --name=mysql1 -d mysql/mysql-server:tag
6 thành docker run --name=mysql1 -d mysql/mysql-server:tag
7Tùy chọn
docker run --name=mysql1 -d mysql/mysql-server:tag
8 được sử dụng trong lệnh docker run ở trên làm cho vùng chứa chạy ở chế độ nền. Sử dụng lệnh này để theo dõi đầu ra từ vùng chứa$> docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
mysql/mysql-server latest 3157d7f55f8d 4 weeks ago 241MB
8Khi quá trình khởi tạo kết thúc, đầu ra của lệnh sẽ chứa mật khẩu ngẫu nhiên được tạo cho người dùng root;
$> docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
mysql/mysql-server latest 3157d7f55f8d 4 weeks ago 241MB
9Kết nối với Máy chủ MySQL từ bên trong Vùng chứaKhi máy chủ đã sẵn sàng, bạn có thể chạy ứng dụng khách mysql trong bộ chứa Máy chủ MySQL mà bạn vừa khởi động và kết nối nó với Máy chủ MySQL. Sử dụng lệnh docker exec -it để khởi động ứng dụng khách mysql bên trong bộ chứa Docker mà bạn đã khởi động, như sau
$> docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
mysql/mysql-server latest 3157d7f55f8d 4 weeks ago 241MB
0Khi được hỏi, hãy nhập mật khẩu gốc đã tạo [xem bước cuối cùng trong Khởi động phiên bản máy chủ MySQL ở trên để biết cách tìm mật khẩu]. Bởi vì tùy chọn
docker run --name=mysql1 -d mysql/mysql-server:tag
9 là đúng theo mặc định, sau khi bạn đã kết nối máy khách mysql với máy chủ, bạn phải đặt lại mật khẩu gốc của máy chủ bằng cách đưa ra câu lệnh này$> docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
mysql/mysql-server latest 3157d7f55f8d 4 weeks ago 241MB
2Thay thế
$> docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
mysql/mysql-server latest 3157d7f55f8d 4 weeks ago 241MB
30 bằng mật khẩu bạn chọn. Khi mật khẩu được đặt lại, máy chủ đã sẵn sàng để sử dụngTruy cập vỏ containerĐể có quyền truy cập shell vào bộ chứa Máy chủ MySQL của bạn, hãy sử dụng lệnh docker exec -it để bắt đầu bash shell bên trong bộ chứa
$> docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
mysql/mysql-server latest 3157d7f55f8d 4 weeks ago 241MB
4Sau đó, bạn có thể chạy các lệnh Linux bên trong vùng chứa. Ví dụ: để xem nội dung trong thư mục dữ liệu của máy chủ bên trong vùng chứa, hãy sử dụng lệnh này
$> docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
mysql/mysql-server latest 3157d7f55f8d 4 weeks ago 241MB
5Dừng và xóa một MySQL ContainerĐể dừng bộ chứa Máy chủ MySQL mà chúng tôi đã tạo, hãy sử dụng lệnh này
$> docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
mysql/mysql-server latest 3157d7f55f8d 4 weeks ago 241MB
0docker stop gửi tín hiệu SIGTERM đến quy trình mysqld để máy chủ được tắt một cách duyên dáng
Cũng lưu ý rằng khi quá trình chính của vùng chứa [mysqld trong trường hợp vùng chứa Máy chủ MySQL] bị dừng, vùng chứa Docker sẽ tự động dừng
Để khởi động lại vùng chứa Máy chủ MySQL
$> docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
mysql/mysql-server latest 3157d7f55f8d 4 weeks ago 241MB
1Để dừng và khởi động lại bộ chứa Máy chủ MySQL bằng một lệnh duy nhất
$> docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
mysql/mysql-server latest 3157d7f55f8d 4 weeks ago 241MB
2Để xóa vùng chứa MySQL, hãy dừng nó trước, sau đó sử dụng lệnh docker rm
$> docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
mysql/mysql-server latest 3157d7f55f8d 4 weeks ago 241MB
0$> docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
mysql/mysql-server latest 3157d7f55f8d 4 weeks ago 241MB
4Nếu bạn muốn xóa cùng lúc Docker volume cho thư mục dữ liệu của máy chủ, hãy thêm tùy chọn
$> docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
mysql/mysql-server latest 3157d7f55f8d 4 weeks ago 241MB
31 vào lệnh docker rmCác chủ đề khác về triển khai máy chủ MySQL với DockerĐể biết thêm các chủ đề về triển khai MySQL Server với Docker như cấu hình máy chủ, cấu hình và dữ liệu ổn định, nhật ký lỗi máy chủ và các biến môi trường vùng chứa, hãy xem Phần 2. 5. 8. 2, “Các chủ đề khác về triển khai máy chủ MySQL với Docker”