Hướng dẫn dockerfile mysql 5.7 example - ví dụ về dockerfile mysql 5.7

2.5.7.1 & NBSP; Các bước cơ bản để triển khai máy chủ MySQL với Docker

Cảnh báo

Các hình ảnh Docker MySQL được duy trì bởi nhóm MySQL được xây dựng dành riêng cho các 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 trên chúng đang tự chịu rủi ro. Xem cuộc thảo luận ở đây để biết một số hạn chế đã biết để chạy các container này trên các hệ điều hành không linux.

  • Tải xuống hình ảnh docker máy chủ mysql

  • Bắt đầu một phiên bản máy chủ MySQL

  • Kết nối với máy chủ MySQL từ bên trong container

  • Truy cập vỏ container

  • Dừng và xóa một thùng chứa MySQL

  • Nâng cấp thùng chứa máy chủ MySQL

  • Thêm các chủ đề về triển khai máy chủ MySQL với Docker

Tải xuống hình ảnh docker máy chủ mysql

Bắt đầu một phiên bản máy chủ MySQL

Kết nối với máy chủ MySQL từ bên trong container: A subscription is required to use the Docker images for MySQL Enterprise Edition. Subscriptions work by a Bring Your Own License model; see How to Buy MySQL Products and Services for details.

Truy cập vỏ container

docker pull mysql/mysql-server:tag

Dừng và xóa một thùng chứa MySQL:

# docker login container-registry.oracle.com 
Username: Oracle-Account-ID
Password: password
Login successful.
6 is omitted, the
docker pull  container-registry.oracle.com/mysql/enterprise-server:tag
0 label is used, and the image for the latest GA version of MySQL Community Server is downloaded. Refer to the list of tags for available versions on the mysql/mysql-server page in the Docker Hub.

Nâng cấp thùng chứa máy chủ MySQL

docker pull container-registry.oracle.com/mysql/mysql-server:tag

Thêm các chủ đề về triển khai máy chủ MySQL với Docker

  • Quan trọngMySQL.

  • Đối với người dùng của MySQL Enterprise Edition: Một đăng ký được yêu cầu sử dụng hình ảnh Docker cho phiên bản Enterprise của MySQL. Đăng ký làm việc bằng một mô hình giấy phép mang theo của riêng bạn; Xem cách mua sản phẩm và dịch vụ MySQL để biết chi tiết.

  • Tải xuống hình ảnh máy chủ trong một bước riêng biệt là không hoàn toàn cần thiết; Tuy nhiên, thực hiện bước này trước khi bạn tạo container Docker đảm bảo hình ảnh địa phương của bạn được cập nhật. Để tải xuống hình ảnh phiên bản cộng đồng MySQL, hãy chạy lệnh này:Sign in button on the right of the page, and then enter your Oracle account credentials when prompted to.

  • # docker login container-registry.oracle.com 
    Username: Oracle-Account-ID
    Password: password
    Login successful.
    6 là nhãn cho phiên bản hình ảnh bạn muốn kéo (ví dụ:
    # docker login container-registry.oracle.com 
    Username: Oracle-Account-ID
    Password: password
    Login successful.
    7,
    # docker login container-registry.oracle.com 
    Username: Oracle-Account-ID
    Password: password
    Login successful.
    8,
    # docker login container-registry.oracle.com 
    Username: Oracle-Account-ID
    Password: password
    Login successful.
    9 hoặc
    docker pull  container-registry.oracle.com/mysql/enterprise-server:tag
    0). Nếu: ________ 26 bị bỏ qua, nhãn
    docker pull  container-registry.oracle.com/mysql/enterprise-server:tag
    0 đượ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 trung tâm Docker.

  • Để tải xuống hình ảnh phiên bản cộng đồng MySQL từ Cơ quan đăng ký container Oracle (OCR), hãy chạy lệnh này:

    # docker login container-registry.oracle.com 
    Username: Oracle-Account-ID
    Password: password
    Login successful.

Để tải xuống hình ảnh của MySQL Enterprise Edition từ OCR, trước tiên bạn cần chấp nhận Thỏa thuận cấp phép trên OCR và đăng nhập vào kho lưu trữ container với ứng dụng khách Docker của bạn:

docker pull  container-registry.oracle.com/mysql/enterprise-server:tag

Truy cập OCR tại https://container-registry.oracle.com/ và chọn MySQL.

# docker login container-registry.oracle.com 
Username: Oracle-Account-ID
Password: password
Login successful.
6, corresponding to different versions of MySQL Docker images provided by the OCR:

  • Trong danh sách các kho lưu trữ MySQL, chọn

    docker pull  container-registry.oracle.com/mysql/enterprise-server:tag
    3.

  • Nếu bạn chưa đăng nhập vào OCR, hãy nhấp vào nút Đăng nhập ở bên phải của trang, sau đó nhập thông tin đăng nhập tài khoản Oracle của bạn khi được nhắc.

Thực hiện theo các hướng dẫn ở bên phải của trang để chấp nhận Thỏa thuận cấp phép.

  • Đăng nhập vào OCR với máy khách Docker của bạn (lệnh

    docker pull  container-registry.oracle.com/mysql/enterprise-server:tag
    4) bằng lệnh
    docker pull  container-registry.oracle.com/mysql/enterprise-server:tag
    5:

  • Tải xuống hình ảnh Docker cho MySQL Enterprise Edition từ OCR với lệnh này:Patch Search region and, on the Search tab, switch to the Product or Family (Advanced) subtab.

  • Có nhiều lựa chọn khác nhau cho

    # docker login container-registry.oracle.com 
    Username: Oracle-Account-ID
    Password: password
    Login successful.
    6, tương ứng với các phiên bản khác nhau của hình ảnh MySQL Docker được cung cấp bởi OCR:MySQL Server for the field, and the desired version number in the field.

  • # docker login container-registry.oracle.com 
    Username: Oracle-Account-ID
    Password: password
    Login successful.
    9,
    docker pull  container-registry.oracle.com/mysql/enterprise-server:tag
    8 (
    docker pull  container-registry.oracle.com/mysql/enterprise-server:tag
    9 là số phiên bản mới nhất trong sê -ri 8.0),
    docker pull  container-registry.oracle.com/mysql/enterprise-server:tag
    0: MySQL 8.0, GA mới nhấtDocker in the text field.

    # docker login container-registry.oracle.com 
    Username: Oracle-Account-ID
    Password: password
    Login successful.
    8,
    docker load -i mysql-enterprise-server-version.tar
    2 (
    docker load -i mysql-enterprise-server-version.tar
    3 là số phiên bản mới nhất trong sê -ri 5.7): MySQL 5.7

    Hướng dẫn dockerfile mysql 5.7 example - ví dụ về dockerfile mysql 5.7

  • Để tải xuống hình ảnh MySQL Enterprise Edition, hãy truy cập trang web hỗ trợ Oracle, đăng nhập vào tài khoản Oracle của bạn và thực hiện các bước này khi bạn đang ở trên trang đích:Search button and, from the result list, select the version you want, and click the Download button.

  • Chọn tab.File Download dialogue box that appears, click and download the

    docker load -i mysql-enterprise-server-version.tar
    4 file for the Docker image.

Chuyển đến vùng tìm kiếm bản vá và, trên tab Tìm kiếm, chuyển sang Subtab sản phẩm hoặc gia đình (Nâng cao).

docker load -i mysql-enterprise-server-version.tar

Nhập máy chủ MySQL MERSQL cho trường và số phiên bản mong muốn trong trường.

$> docker images
REPOSITORY           TAG                 IMAGE ID            CREATED             SIZE
mysql/mysql-server   latest              3157d7f55f8d        4 weeks ago         241MB
Bắt đầu một phiên bản máy chủ MySQL

Kết nối với máy chủ MySQL từ bên trong container

docker run --name=container_name -d image_name:tag

Truy cập vỏ containerdocker images command, as explained in Downloading a MySQL Server Docker Image. The

docker load -i mysql-enterprise-server-version.tar
7 option, for supplying a custom name for your server container, is optional; if no container name is supplied, a random one is generated.

Dừng và xóa một thùng chứa MySQL

docker run --name=mysql1 -d mysql/mysql-server:5.7

Nâng cấp thùng chứa máy chủ MySQL

docker run --name=mysql1 -d container-registry.oracle.com/mysql/enterprise-server:5.7

Thêm các chủ đề về triển khai máy chủ MySQL với Docker

docker run --name=mysql1 -d mysql/enterprise-server:5.7

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 chạy trước đó, hình ảnh hiện đã được tải xuống. Khởi tạo cho container bắt đầu và container xuất hiện trong danh sách các container đang chạy khi bạn chạy lệnh Docker PS. Ví dụ:docker pull or docker run command, the image is now downloaded. Initialization for the container begins, and the container appears in the list of running containers when you run the docker ps command. For example:

docker pull container-registry.oracle.com/mysql/mysql-server:tag
0

Việc khởi tạo container có thể mất một thời gian. Khi máy chủ sẵn sàng để sử dụng,

docker load -i mysql-enterprise-server-version.tar
8 của container trong đầu ra của lệnh Docker PS thay đổi từ
docker load -i mysql-enterprise-server-version.tar
9 thành
$> docker images
REPOSITORY           TAG                 IMAGE ID            CREATED             SIZE
mysql/mysql-server   latest              3157d7f55f8d        4 weeks ago         241MB
0.docker ps command changes from
docker load -i mysql-enterprise-server-version.tar
9 to
$> docker images
REPOSITORY           TAG                 IMAGE ID            CREATED             SIZE
mysql/mysql-server   latest              3157d7f55f8d        4 weeks ago         241MB
0.

Tùy chọn

$> docker images
REPOSITORY           TAG                 IMAGE ID            CREATED             SIZE
mysql/mysql-server   latest              3157d7f55f8d        4 weeks ago         241MB
1 được sử dụng trong lệnh docker chạy ở trên làm cho container chạy trong nền. Sử dụng lệnh này để theo dõi đầu ra từ thùng chứa:docker run command above makes the container run in the background. Use this command to monitor the output from the container:

docker pull container-registry.oracle.com/mysql/mysql-server:tag
1

Sau khi 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 gốc; Kiểm tra mật khẩu với, ví dụ, lệnh này:

docker pull container-registry.oracle.com/mysql/mysql-server:tag
2
Kết nối với máy chủ MySQL từ bên trong container

Khi máy chủ đã sẵn sàng, bạn có thể chạy máy khách MySQL trong thùng chứa MySQL Server, bạn mới 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 máy khách MySQL bên trong thùng chứa Docker mà bạn đã bắt đầu, giống như sau:mysql client within the MySQL Server container you just started, and connect it to the MySQL Server. Use the docker exec -it command to start a mysql client inside the Docker container you have started, like the following:

docker pull container-registry.oracle.com/mysql/mysql-server:tag
3

Khi được hỏi, hãy nhập mật khẩu gốc được tạo (xem bước cuối cùng trong việc bắt đầu một phiên bản máy chủ MySQL ở trên về cách tìm mật khẩu). Vì tùy chọn

$> docker images
REPOSITORY           TAG                 IMAGE ID            CREATED             SIZE
mysql/mysql-server   latest              3157d7f55f8d        4 weeks ago         241MB
2 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 máy chủ bằng cách phát hành câu lệnh này:mysql client to the server, you must reset the server root password by issuing this statement:

docker pull container-registry.oracle.com/mysql/mysql-server:tag
4

Thay thế

$> docker images
REPOSITORY           TAG                 IMAGE ID            CREATED             SIZE
mysql/mysql-server   latest              3157d7f55f8d        4 weeks ago         241MB
3 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 thùng chứa máy chủ MySQL của bạn, hãy sử dụng lệnh docker exec -it để khởi động shell bash bên trong thùng chứa:docker exec -it command to start a bash shell inside the container:

docker pull container-registry.oracle.com/mysql/mysql-server:tag
5

Sau đó, bạn có thể chạy các lệnh Linux bên trong container. Ví dụ: để xem nội dung trong thư mục dữ liệu của máy chủ bên trong thùng chứa, hãy sử dụng lệnh này:

docker pull container-registry.oracle.com/mysql/mysql-server:tag
6
Dừng và xóa một thùng chứa MySQL

Để dừng thùng chứa máy chủ MySQL mà chúng tôi đã tạo, hãy sử dụng lệnh này:

docker pull container-registry.oracle.com/mysql/mysql-server:tag
7

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. sends a SIGTERM signal to the mysqld process, so that the server is shut down gracefully.

Cũng lưu ý rằng khi quá trình chính của container (MySQLD trong trường hợp hộp đựng máy chủ MySQL) bị dừng, container Docker sẽ tự động dừng lại.mysqld in the case of a MySQL Server container) is stopped, the Docker container stops automatically.

Để khởi động lại container máy chủ MySQL:

docker pull container-registry.oracle.com/mysql/mysql-server:tag
8

Để dừng lại và khởi động lại thùng chứa máy chủ MySQL bằng một lệnh duy nhất:

docker pull container-registry.oracle.com/mysql/mysql-server:tag
9

Để xóa thùng chứa MySQL, hãy dừng nó trước và sau đó sử dụng lệnh Docker RM:docker rm command:

docker pull container-registry.oracle.com/mysql/mysql-server:tag
7
# docker login container-registry.oracle.com 
Username: Oracle-Account-ID
Password: password
Login successful.
1

Nếu bạn muốn âm lượng Docker cho thư mục dữ liệu của máy chủ sẽ bị xóa cùng một lúc, 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
4 vào lệnh docker RM.docker rm command.

Nâng cấp thùng chứa máy chủ MySQL

Quan trọng

  • Trước khi thực hiện bất kỳ bản nâng cấp nào lên MySQL, hãy theo dõi cẩn thận các hướng dẫn trong Phần & NBSP; 2.11, nâng cấp MySQL. Trong số các hướng dẫn khác được thảo luận ở đó, điều đặc biệt quan trọng là sao lưu cơ sở dữ liệu của bạn trước khi nâng cấp.

  • Các hướng dẫn trong phần này yêu cầu dữ liệu và cấu hình của máy chủ đã được duy trì trên máy chủ. Xem dữ liệu tồn tại và thay đổi cấu hình để biết chi tiết.

Thực hiện theo các bước này để nâng cấp cài đặt Docker của MySQL 5.6 lên 5.7:

  • Dừng máy chủ MySQL 5.6 (tên container là

    $> docker images
    REPOSITORY           TAG                 IMAGE ID            CREATED             SIZE
    mysql/mysql-server   latest              3157d7f55f8d        4 weeks ago         241MB
    5 trong ví dụ này):

    # docker login container-registry.oracle.com 
    Username: Oracle-Account-ID
    Password: password
    Login successful.
    2
  • Tải xuống hình ảnh Docker máy chủ MySQL 5.7. Xem hướng dẫn trong việc tải xuống hình ảnh Docker máy chủ MySQL; Hãy chắc chắn rằng bạn sử dụng thẻ phù hợp cho MySQL 5.7.

  • Bắt đầu một container Docker MySQL 5.7 mới (được đặt tên

    $> docker images
    REPOSITORY           TAG                 IMAGE ID            CREATED             SIZE
    mysql/mysql-server   latest              3157d7f55f8d        4 weeks ago         241MB
    6 trong ví dụ này) với dữ liệu và cấu hình máy chủ cũ (với các sửa đổi thích hợp nếu cần Trong ví dụ này). Đối với máy chủ cộng đồng MySQL, hãy chạy lệnh này:

    # docker login container-registry.oracle.com 
    Username: Oracle-Account-ID
    Password: password
    Login successful.
    3

    Nếu cần, ví dụ, điều chỉnh

    $> docker images
    REPOSITORY           TAG                 IMAGE ID            CREATED             SIZE
    mysql/mysql-server   latest              3157d7f55f8d        4 weeks ago         241MB
    7 theo tên hình ảnh chính xác, ví dụ, thay thế nó bằng
    $> docker images
    REPOSITORY           TAG                 IMAGE ID            CREATED             SIZE
    mysql/mysql-server   latest              3157d7f55f8d        4 weeks ago         241MB
    8 cho hình ảnh phiên bản doanh nghiệp MySQL được tải xuống từ OCR hoặc
    $> docker images
    REPOSITORY           TAG                 IMAGE ID            CREATED             SIZE
    mysql/mysql-server   latest              3157d7f55f8d        4 weeks ago         241MB
    9 cho hình ảnh phiên bản doanh nghiệp MySQL được tải xuống từ hỗ trợ Oracle của tôi.

  • Đợ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ủ bằng lệnh Docker PS (xem bắt đầu một phiên bản máy chủ MySQL để biết cách thực hiện điều đó).docker ps command (see Starting a MySQL Server Instance for how to do that).

  • Chạy tiện ích MySQL_Upgrade trong thùng chứa máy chủ MySQL 5.7:

    # docker login container-registry.oracle.com 
    Username: Oracle-Account-ID
    Password: password
    Login successful.
    4

    Khi được nhắc, hãy nhập mật khẩu gốc cho máy chủ MySQL 5.6 cũ của bạn.

  • Hoàn thành việc nâng cấp bằng cách khởi động lại bộ chứa máy chủ MySQL 5.7:

    # docker login container-registry.oracle.com 
    Username: Oracle-Account-ID
    Password: password
    Login successful.
    5

Thêm các chủ đề về triển khai máy chủ MySQL với Docker

Để biết thêm các chủ đề về việc triển khai máy chủ MySQL với Docker như cấu hình máy chủ, dữ liệu và cấu hình liên tục, nhật ký lỗi máy chủ và các biến môi trường container, xem Phần & NBSP; 2.5.7.2, Các chủ đề khác về triển khai Máy chủ MySQL với Docker.