Mọi điều bạn nên biết về Docker Hub

Hãy cùng tìm hiểu về Docker Hub.
Hôm nay, trong hướng dẫn này, chúng ta sẽ tìm hiểu về Docker Hub, bao gồm cách sử dụng nó, cách tạo hình ảnh của riêng chúng ta và nó giúp ích như thế nào trong việc xuất bản và kéo hình ảnh đến và đi Docker Hub. Và, chúng tôi cũng sẽ dành thời gian khám phá một số kho lưu trữ phổ biến trên Docker Hub.
Điều kiện tiên quyết
Bạn yêu cầu hiểu biết cơ bản về Docker, quen thuộc với môi trường Windows và Linux. Hướng dẫn này sẽ sử dụng công cụ Docker Desktop để thực hành các bài tập liên tục, tức là để xây dựng và đẩy một hình ảnh lên Docker Hub. Người dùng Windows và Mac có thể tải xuống và cài đặt nó từ nơi đâyvà người dùng Linux làm theo điều này liên kết.
Docker Hub là gì?
Docker Hub là một dịch vụ đăng ký kho lưu trữ được cung cấp bởi Docker Inc.
Nó cho phép chúng tôi kéo và đẩy hình ảnh docker đến và đi từ Docker Hub. Chúng tôi có thể coi đây là GitHub, nơi chúng tôi tìm nạp và đẩy mã nguồn của mình, nhưng trong trường hợp của Docker Hub, chúng tôi tải xuống hoặc xuất bản hình ảnh vùng chứa của mình. Nó là một kho lưu trữ trực tuyến dựa trên đám mây lưu trữ cả hai loại kho lưu trữ, tức là kho lưu trữ pubic cũng như kho lưu trữ riêng tư. Các kho lưu trữ công cộng có thể truy cập được đối với tất cả mọi người, nhưng kho riêng tư có thể truy cập được đối với chủ sở hữu liên quan của các kho lưu trữ đó; cũng có một chi phí liên quan đến nó nếu chúng tôi lưu trữ nhiều hơn một số kho lưu trữ nhất định dưới dạng riêng tư.
Các tính năng của Docker Hub
Docker Hub cung cấp một số tính năng sau.
# 1. Kho hình ảnh
Nó giúp chúng tôi tìm và kéo hình ảnh vùng chứa từ Docker Hub.
Nó cũng giúp chúng tôi đẩy hình ảnh dưới dạng kho lưu trữ công khai hoặc riêng tư vào Docker Hub.
# 2. Nhóm và Tổ chức
Nó cho phép chúng tôi tạo các nhóm làm việc và đẩy các kho lưu trữ dưới dạng riêng tư, chỉ có sẵn để sử dụng trong tổ chức của chúng tôi. Bằng cách này, chúng tôi đã quản lý quyền truy cập vào kho lưu trữ hình ảnh vùng chứa riêng tư của chúng tôi.
# 3. Tích hợp GitHub và Bitbucket
Nó cho phép tích hợp với các kho mã nguồn như GitHub và BitBucket.
#4. Công trình tự động
Nếu bất kỳ thay đổi nào trong mã nguồn được đẩy vào kho mã nguồn, nó sẽ tự động phát hiện và xây dựng các hình ảnh vùng chứa từ GitHub hoặc BitBucket và đẩy chúng đến Docker Hub.
# 5. Webhooks
Khi chúng tôi đã đẩy hình ảnh của mình thành công, với sự trợ giúp của webhook, nó sẽ kích hoạt hành động tích hợp Docker Hub với các dịch vụ khác.
# 6. Hình ảnh chính thức và nhà xuất bản
Hình ảnh chất lượng cao được cung cấp bởi docker được coi là hình ảnh chính thức và nó có thể được kéo và sử dụng. Tương tự, hình ảnh chất lượng cao do các nhà cung cấp bên ngoài cung cấp là hình ảnh của nhà xuất bản, còn được gọi là hình ảnh được chứng nhận, hỗ trợ và đảm bảo khả năng tương thích với Docker Enterprise. Chúng tôi sẽ thảo luận về các hình ảnh được chứng nhận sau trong bài viết này.
Tạo kho lưu trữ đầu tiên
Bước này yêu cầu đăng nhập vào Docker Hub sử dụng thông tin đăng nhập của bạn. Nếu chưa có tài khoản, bạn có thể tạo bằng cách nhấp vào nút Đăng ký có sẵn trên trang web. Khi bạn đã đăng nhập, bạn có thể tạo kho lưu trữ bằng cách nhấp vào Tạo kho lưu trữ trên trang chào mừng.
- Sau khi nhấp vào Tạo kho lưu trữ, Nó sẽ yêu cầu đặt tên, đặt tên cho kho lưu trữ của bạn.
- Chọn một tùy chọn hiển thị từ công khai hoặc riêng tư.
Chúng tôi cũng có thể tích hợp kho mã nguồn của mình như GitHub và BitBucket thông qua cài đặt xây dựng, nhưng nó là tùy chọn và cũng có thể được thực hiện ở giai đoạn sau.
- Khi mọi thứ đã hoàn tất, hãy nhấp vào Tạo.
Xin chúc mừng! Bạn đã tạo kho lưu trữ đầu tiên của mình, kho lưu trữ này sẽ trông như sau.
Docker Hub chỉ cung cấp cho chúng tôi một kho lưu trữ riêng miễn phí. Mặc dù, nếu chúng tôi cần thêm kho lưu trữ riêng, chúng tôi có thể nâng cấp tài khoản của mình lên gói trả phí.
Bây giờ, hãy mở công cụ / thiết bị đầu cuối Docker Desktop, đã tải xuống và cài đặt ở trên và đăng nhập vào Docker Hub, bằng cách sử dụng một lệnh.
docker login
Khám phá những hình ảnh
Có hai cách để tìm kiếm kho lưu trữ công khai và hình ảnh từ Docker Hub, đó là, chúng ta có thể tìm kiếm nó từ trang web Docker Hub hoặc chúng ta có thể sử dụng công cụ dòng lệnh và chạy lệnh bên dưới. Hãy xem xét chúng tôi muốn tìm kiếm hình ảnh kho lưu trữ MySQL.
docker search mysql
Tải xuống hình ảnh
Chúng ta có thể tải xuống một hình ảnh từ lệnh Docker Hub bằng lệnh pull như sau
# docker pull mysql
Nếu chúng ta đã có hình ảnh mysql trên máy của mình, thì lệnh trên sẽ tự động cập nhật hình ảnh lên phiên bản mới nhất. Một điều cần lưu ý ở đây là nếu chúng ta nhận thấy đầu ra lệnh tìm kiếm docker của chúng tôi, có rất nhiều hình ảnh của MySQL trên Docker Hub và đó là bởi vì bất kỳ ai cũng có thể đẩy một hình ảnh. Nhưng nó phụ thuộc vào chúng ta, cái nào sẽ sử dụng dựa trên trường hợp sử dụng của chúng ta. Và chúng ta cần tạo ra cái thích hợp.
Giả sử chúng tôi muốn kéo một hình ảnh bitnami / mysql.
# docker pull bitnami/mysql
Tạo hình ảnh
Quá trình này yêu cầu một Dockerfile. Chúng ta có thể nghĩ rằng Dockerfile như một hướng dẫn sử dụng cho docker biết cách lắp ráp. Nói tóm lại, nó là một tập tin cấu hình giữ hướng dẫn lắp ráp, những gì chúng ta yêu cầu nó lắp ráp.
Làm thế nào nó hoạt động?
Docker đọc hướng dẫn từ Dockerfile và tự động xây dựng hình ảnh. Docker image là một hệ thống tệp nhiều lớp và nó bao gồm nhiều lớp chỉ đọc và mỗi lớp của hình ảnh Docker đại diện cho các hướng dẫn của một Dockerfile. Hãy làm theo các bước dưới đây để tạo một hình ảnh bằng Dockerfile.
Tạo một Dockerfile, chỉ định cấu hình ứng dụng của chúng tôi.
# sudo vim Dockerfile
Lưu ý – Tên của tệp phải là Dockerfile với chữ “D” viết hoa.
FROM ubuntu:16.04 MAINTAINER [email protected] RUN apt-get update RUN apt-get install –y mysql CMD echo "My first image created."
Chúng ta hãy xem xét một số từ khóa quan trọng được sử dụng trong Dockerfile
- Chúng tôi có thể sử dụng # ký hiệu để thêm nhận xét trong Dockerfile
- Từ khóa “FROM” xác định hình ảnh cơ sở sẽ được sử dụng.
- Các “MAINTAINERTừ khóa ”là người sẽ duy trì hình ảnh đó.
- Từ khóa “RUN” được sử dụng để chạy lệnh cho hình ảnh. Trong trường hợp của chúng tôi, trước tiên, hãy cập nhật hệ thống và sau đó cài đặt MySQL.
- Từ khóa “CMD” được sử dụng để thực thi một lệnh sau khi vùng chứa đã được khởi chạy.
- Từ khóa “COPY” có thể được sử dụng để sao chép tệp từ hệ điều hành máy chủ của chúng tôi vào vùng chứa docker.
- Từ khóa “EXPOSE” được sử dụng để chỉ định số cổng mà vùng chứa sẽ chạy quy trình của nó.
Chạy lệnh dưới đây để xây dựng hình ảnh Docker của chúng tôi
Cú pháp:
docker build -t
# docker build -t asadali08537/first-repo .
Trong lệnh trên, tên của hình ảnh là và “.” chỉ định thư mục làm việc hiện tại. Đây là một dấu hiệu để Docker tìm kiếm thư mục hiện tại của tệp docker. “-T” được sử dụng để gắn thẻ hình ảnh. Chúng ta có thể thấy đầu ra tương tự như:
Bây giờ chúng ta hãy kiểm tra hình ảnh của chúng tôi bằng cách chạy nó thông qua lệnh chạy của docker.
docker run asadali08527/first-repo
Việc thực thi lệnh trên sẽ yêu cầu hình ảnh Docker của bạn cài đặt thành công MySQL trên máy của bạn với tất cả các bản cập nhật cần thiết và cuối cùng, nó cũng sẽ hiển thị thông báo echo.
Đẩy một hình ảnh
Khi hình ảnh của chúng tôi đã được tạo thành công và nó đang chạy, chúng tôi có thể đẩy nó đến Docker Hub thông qua lệnh push.
docker push asadali08527/first-repo
Chúng tôi có thể kiểm tra các thẻ hình ảnh và trạng thái trên Docker Hub, chúng sẽ trông giống như thế này.
Hình ảnh được chứng nhận Docker là gì?
Đây là những hình ảnh chính thức được đẩy bởi nhà cung cấp hoặc người đóng góp. Một hình ảnh chỉ có thể được Docker Hub chứng nhận nếu nội dung của nó tuân thủ các quy tắc, tiêu chuẩn và luật do Docker Hub cung cấp. Tóm lại, hình ảnh đó phải vượt qua các bài kiểm tra cơ bản nhất định.
Docker Hub cung cấp công cụ verifyDockerImage , qua đó nhà cung cấp có thể tự xác nhận hình ảnh và plugin (Thông thường nhà cung cấp hoặc cộng tác viên xuất bản các plugin của họ để ghi lại khối lượng và mạng).
Ghi chú –
Để xuất bản hình ảnh của chúng tôi là được chứng nhận về docker, trước tiên, chúng tôi phải tự mình chứng nhận và kiểm tra hình ảnh và plugin của mình thông qua thanh tra , sau khi chúng tôi đã chứng nhận và thử nghiệm thành công, khi gửi, Docker Hub sẽ chứng nhận nó. Nếu nội dung của chúng tôi yêu cầu một môi trường không được chứng nhận thì nó không thể được xuất bản là được chứng nhận trong bất kỳ trường hợp nào.
Hình ảnh phổ biến trên DockerHub
Có rất nhiều hình ảnh được sắp xếp và tối ưu hóa có sẵn trên Docker Hub.
Mức độ phổ biến của những hình ảnh này phụ thuộc vào các yếu tố khác nhau như kéo, sự hiện diện trên thị trường, xếp hạng, điểm hài lòng, v.v. Để có danh sách chi tiết về các kho phổ biến nhất, hãy điều hướng đến Docker Hub trang mạng. Việc sử dụng hình ảnh cũng phụ thuộc vào hệ điều hành và kiến trúc của nó, Nếu chúng ta biết các hình ảnh được kéo sẽ được sử dụng cho hệ điều hành nào và kiến trúc của nó, thì chúng ta phải xem xét các yếu tố chính dưới đây trước khi kéo một hình ảnh.
- Tìm kiếm một phiên bản cụ thể bằng cách sử dụng thẻ (hầu hết là phiên bản mới nhất).
- Chọn một trong đó có số lượt tải xuống tối đa và số sao.
- Kiểm tra các bản cập nhật của nó (khi nó được cập nhật lần cuối).
- Nếu có thể, hãy kiểm tra loại của nó, cho dù là nhà xuất bản đã xác minh hay chính thức (Docker Certified).
Webhooks
Webhook là một cuộc gọi lại trên web hoạt động với các sự kiện và nó là một cách để một ứng dụng cung cấp thông tin thời gian thực cho một ứng dụng khác. Ngày nay, hầu hết mọi ứng dụng đều cung cấp cơ sở webhook và do đó, Docker Hub cũng có tính năng này.
Nó là một API đẩy HTTP được kích hoạt bởi các sự kiện do người dùng chỉ định. Chúng tôi có thể sử dụng webhook trong docker để thông báo cho ứng dụng hoặc dịch vụ sử dụng các hình ảnh liên quan. Nói chung, chúng tôi định cấu hình webhooks với docker như một chuỗi sự kiện, sao cho bất kỳ tải lên hình ảnh mới nào sẽ kích hoạt các ứng dụng thử nghiệm chạy các trường hợp thử nghiệm gạch dưới.
Khi kết quả kiểm tra thành công, nó sẽ kích hoạt một sự kiện khác, đó sẽ là triển khai vùng chứa và sau khi triển khai thành công, nó sẽ kích hoạt các sự kiện khác để ghi lại các thay đổi đã thực hiện cho đến nay.
Sự kết luận
Tôi tin rằng bây giờ bạn đã hiểu rõ về Docker Hub và cách bạn có thể tìm kiếm, tạo và đẩy hình ảnh. Hãy nhớ rằng khi bạn đẩy hình ảnh công khai, hình ảnh đó sẽ hiển thị cho bất kỳ ai.
Nếu chưa có, hãy xem hướng dẫn cài đặt Docker này.