Làm cách nào để bắt đầu dịch vụ mysql trong dockerfile?

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ủ MySQL

Tả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 Hub

Bạ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ủ MySQL

Bắ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
3

Quá 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 
7

Tù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
8

Khi 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
9
Kết nối với Máy chủ MySQL từ bên trong Vùng chứa

Khi 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
0

Khi đượ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
2

Thay 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ụng

Truy 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
4

Sau đó, 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
5
Dừ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
0

docker 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
4

Nế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 rm

Cá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”

Làm cách nào để chạy các lệnh MySQL trong Dockerfile?

Chạy Bộ chứa Docker MySQL
Cài đặt Bộ chứa Docker MySQL. Bước 1. Kéo hình ảnh Docker của MySQL. Bước 2. Triển khai Bộ chứa MySQL. Bước 3. Kết nối với MySQL Docker Container
Định cấu hình Bộ chứa MySQL. Quản lý lưu trữ dữ liệu
Bắt đầu, dừng và khởi động lại MySQL Container
Xóa vùng chứa MySQL

Làm cách nào để tạo cơ sở dữ liệu MySQL trong Dockerfile?

Thiết lập Cơ sở dữ liệu MySQL trong Docker .
Tạo Docker Soạn tệp YAML cho bộ chứa MySQL Docker
Kết nối với cơ sở dữ liệu MySQL, chạy trên vùng chứa, sử dụng nhiều phương thức khác nhau
Tạo và chạy nhiều phiên bản MySQL trong bộ chứa Docker

Làm cách nào để khởi động lại dịch vụ trong Dockerfile?

Tạo một thư mục drop-in systemd cho dịch vụ docker. $ mkdir -p ~/. cấu hình/systemd/người dùng/docker. dịch vụ. d
Xóa các thay đổi và khởi động lại Docker. $ systemctl --user daemon-reload $ systemctl --user khởi động lại docker