Phần 9 - Sử Dụng Docker Hub

  1. Sử dụng Docker Hub
  2. Đăng ký Docker Hub
  3. Image Repository
    1. Tìm kiếm Image
    2. Sử dụng Image
      1. Tag
      2. Multiple images
  4. Repository
    1. Tạo repository
    2. Push Repository
    3. Private Repository
    4. Automated Build & webhooks
  5. Organizations
    1. Organizations and Teams
    2. Người cộng tác
  6. Thêm thông tin
    1. Đăng ký
    2. Image
    3. Organizations
    4. Cộng tác
    5. Pull Repository
    6. Private Repository
    7. Tạo repository
    8. Push Repository
    9. Share this:
    10. Like this:
Sử dụng Docker Hub

Nếu bạn có chút quen thuộc với GitHub hoặc BitBucket, bạn đã hiểu những điều cơ bản về Docker Hub. Docker Hub là một repository Image cho Docker Image và nhiều hơn nữa. Bạn sử dụng ID Docker miễn phí để truy cập Docker Hub.

Đăng ký Docker Hub

Sử dụng trang web Docker Hub nhanh nhất để tạo tài khoản Docker Hub. Bên cạnh đó, bạn có thể đăng ký từ dòng lệnh với docker login; lệnh nhắc bạn lấy ID Docker. ID này trở thành public namespace cho repository công khai của bạn; sau khi bạn nhập mật khẩu và địa chỉ email, Docker sẽ đăng nhập bạn vào Docker Hub cho đến khi bạn chạy docker logout.

Image Repository

Docker Hub cung cấp Image Docker, cho phép bạn tạo các container mới mà không cần phải viết Dockerfile. Image chính thức đã ký cung cấp mức độ bảo mật cao hơn (khuyến nghị chỉ sử dụng Image đã ký khi có thể).

Tìm kiếm Image

Docker cung cấp giao diện người dùng đồ họa (GUI) để tìm kiếm Docker Hub, bạn có thể chạy các lệnh từ terminal yêu thích của mình hoặc bạn có thể tìm kiếm trực tiếp trên Docker Hub ! Sử dụng hộp tìm kiếm hoặc nhập vào docker search debian để tìm tất cả các Image có sẵn để sử dụng Debian. Bạn sẽ thấy một cái gì đó như thế này (trong bảng điều khiển):

NAME DESCRIPTION STARS OFFICIAL AUTOMATED ubuntu Ubuntu is a Debian-based Linux operating s... 4238 [OK] debian Debian is a Linux distribution that's comp... 1488 [OK] neurodebian NeuroDebian provides neuroscience research... 24 [OK] armbuild/debian ARMHF port of debian 8 [OK] jesselang/debian-vagrant Stock Debian Images made Vagrant-friendly ... 8 [OK]

Docker Hub liệt kê các mục theo số lượng người dùng Star (tương tự như thêm vào mục ưa thích) Image (bất kể trạng thái Image chính thức). Trừ khi bạn có trường hợp sử dụng cụ thể (ví dụ: bộ xử lý ARM trong trường hợp armbuild/debian), bạn thường nên sử dụng các bản phát hành chính thức. Bạn nên sử dụng các Image cụ thể hơn , như rails(đối với các ứng dụng Ruby on Rails), php(PHP), v.v. thay vì tự mình xây dựng mọi thứ.

Ví dụ: docker search django trả về Image django chính thức (cùng với nhiều Image không chính thức). Nói chung, bạn không cần phải xây dựng mọi thứ từ đầu (nghĩa là từ bản phân phối Linux cơ bản), và thay vào đó nên chọn Image gần nhất với ứng dụng cuối cùng của bạn (cho dù là Python, Django, v.v.).

Sử dụng Image

Khi bạn tìm thấy Image mình muốn, chỉ cần thực hiện docker pull <package>(thay thế gói Gói bằng tên gói). Nếu bạn muốn cài đặt Python, chỉ cần chạy docker pull python và bạn sẽ nhận được đầu ra tương tự như sau:

Using default tag: latest latest: Pulling from library/python 5c90d4a2d1a8: Pull complete ab30c63719b1: Pull complete c6072700a242: Pull complete abb742d515b4: Pull complete 7663bd2e167e: Pull complete 88768398e199: Pull complete eebbb7c52ba8: Pull complete Digest: sha256:e8539daeaf246b7a96da68f3509f2e8afa61753cac52c0b7378e11d590a665c1 Status: Downloaded newer image for python:latest

Mỗi lớp của lớp Cameron là một phần của Image Python tổng thể. Bạn có thể xem Dockerfile cho một số Image chính thức trên trang GitHub của thư viện Docker . Ví dụ: bạn có thể thấy Dockerfile đã tạo ra Image Python 2.7.x chính thức tại đây .

Tag

Bạn có thể tùy chỉnh Image nào bạn Pull (ví dụ: Python 3.x so với Python 2.7+). Docker Hub sử dụng các “tag” dùng để chỉ định các phiên bản Image (với tag latest là mặc định). Chỉ cần thêm một tag vào lệnh Pull của bạn để có được Image phù hợp.

repository Python chính thức cung cấp 3.5 làm Image mặc định ( mới nhất ) tại thời điểm viết bài này. Nếu bạn thích chạy 3.6, bạn có thể làm như vậy với lệnh sau:docker pull python:3.6

Nếu bạn muốn phiên bản 2 mới nhất, hãy sử dụng: docker pull python:2

Docker Hub hỗ trợ nhiều biến thể của Python, mỗi biến thể có trường hợp sử dụng riêng. Dành thời gian để hiểu các dịch vụ và trường hợp sử dụng tốt nhất cho từng loại và các yêu cầu của dự án của bạn.

Multiple images

Các repository có thể chứa nhiều Image, nhưng Docker Hub mặc định chỉ lấy một Image (mới nhất) từ repository. Bạn có thể Pull tất cả các Image từ repository nếu bạn thêm -a hoặc tùy chọn --all-tags vào pull của bạn: docker pull -a python(hoặc docker pull --all-tags python; bạn có thể sử dụng thay thế cho nhau).

Repository

Tạo repository

Các repository mới có thể được tạo từ menu Create (trong Tạo repository ). Bạn có thể chọn xem repository mới của bạn có nằm trong namespace Docker ID của bạn hay trong bất kỳ tổ chức nào mà bạn được liệt kê trong nhóm Chủ sở hữu .

Bạn có 100 ký tự trong mô tả ngắn của repository; Docker Hub hiển thị mô tả này trong kết quả tìm kiếm. Sử dụng mô tả đầy đủ như README của repository của bạn; Docker Hub hỗ trợ Markdown (xem lại cú pháp tại đây) . Sử dụng Markdown để định dạng đơn giản để cải thiện khả năng đọc.

Push Repository

Sau khi bạn tạo một repository mới, bạn sẽ muốn Push nó lên Docker Hub.

Bạn cần đặt tên cho local Image của mình bằng tên người dùng Docker Hub và tên của repository. Bạn có thể thêm nhiều Image bằng cách thêm :<tag>vào lệnh Push của bạn. Bạn có thể đặt tên cho Image khi bạn xây dựng chúng, gắn thẻ lại một Image hiện có hoặc thực hiện các thay đổi mới (giả sử tên người dùng PythonDocker, tên repository MyPython3, tên container MyContainer, tên Image MyImage và thẻ 201607):

- On build: docker build -t PythonDocker/MyPython3 ## OR ## docker build -t PythonDocker/MyPython3:201607 - Re-tag: docker tag MyImage PythonDocker/MyPython3 ## OR ## docker tag MyImage PythonDocker/MyPython3:201607 - Committing: docker commit MyContainer PythonDocker/MyPython3 ## OR ## docker commit MyContainer PythonDocker/MyPython3:201607

Private Repository

Nếu bạn có Image bạn muốn giữ riêng tư (cho chính mình hoặc một số người khác), bạn có thể sử dụng tính năng repository riêng của Docker Hub . Tài khoản miễn phí có được một repository riêng tư và bạn có thể nâng cấp thêm khi bạn cần chúng. Bạn tạo repository riêng trên Docker Hub bằng nút Thêm repository (thông qua trang web); khi tạo, bạn có thể pushđến và pulltừ repository riêng của mình.

Các private repository hoạt động giống như các public repository ngoại trừ bạn không thể duyệt chúng hoặc tìm kiếm chúng trên sổ đăng ký công khai.Bất cứ khi nào bạn có thể chuyển repository của mình sang Repository riêng. Bạn có thể nâng cấp tài khoản của mình bất cứ lúc nào để thêm các Repository riêng tư hơn.

Automated Build & webhooks

Nếu bạn lưu trữ mã nguồn cho Image Docker của mình trên GitHub hoặc Bitbucket, bạn có thể sử dụng Automated Buildrepository của Docker Hub .

Thông tin thêm về tính năng này có thể được tìm thấy trên trang web của Docker .

Organizations

Các tổ chức cho phép bạn tạo các nhóm, cấp cho đồng nghiệp quyền truy cập vào repository Image của bạn. Điều này có ý nghĩa nếu bạn hỗ trợ nhiều Image riêng tư tùy chỉnh. Giống như tài khoản người dùng, các tổ chức có thể có repository riêng tư và công cộng. Điều này cho phép phân phối Image và chọn người dùng Docker Hub có thể xuất bản Image nào.

Tìm các tổ chức mà bạn thuộc về trên thanh điều hướng. Nếu tổ chức của bạn cung cấp cho bạn các đặc quyền của Chủ sở hữu, bạn có thể tạo và sửa đổi tư cách thành viên của các team; những người dùng khác chỉ có thể thấy các team mà họ thuộc về.

Giấy phépHiệu ứng
ĐọcNgười dùng có thể xem , tìm kiếm và Pull một repository riêng
ViếtNgười dùng có thể Push đến Repository không tự động
quản trị viênNgười dùng có thể sửa đổi Mô tả của Repository , Quyền của Cộng tác viên và khả năng hiển thị ; người dùng có thể xóa Repository

Organizations and Teams

Nếu bạn cần kiểm soát tốt hơn quyền truy cập của cộng tác viên, hãy nâng cấp lên tài khoản Tổ chức. Bạn có thể chỉ định các thành viên trong nhóm Đọc , Viết và Quản trị viên .

Người cộng tác

Bạn có thể cấp quyền truy cập vào Repository riêng của mình cho người dùng khác. Docker gọi những người dùng này là cộng tác viên.

Thêm thông tin

Đăng ký

Docker lưu thông tin xác thực của bạn trong một tệp văn bản gốc .dockercfg, trong thư mục chính của bạn.

Bạn nhận được một sổ đăng ký riêng với tài khoản Docker Hub miễn phí và có thể nâng cấp tài khoản của bạn để có thêm đăng ký.

Image

Trừ khi bạn có nhu cầu cụ thể về một Image cụ thể, bạn nên chạy Content Trust mọi lúc ( đặc biệt là trên các container production). Để biết thêm thông tin, xem Bảo mật Docker .

Organizations

Người dùng phải xác minh địa chỉ email của họ trước khi họ có thể truy cập bất kỳ đặc quyền nào ở trên Read(bất kể tổ chức nào chỉ định truy cập).

Đảm bảo bạn chỉ cấp quyền cao hơn cho người dùng mà bạn tin tưởng (tương tự đối với quyền sở hữu).

Cộng tác

Cộng tác viên không thể thêm các cộng tác viên khác; chỉ chủ sở hữu có thể. Nếu bạn muốn người dùng có nhiều quyền chi tiết hơn ( Đọc , Viết và Quản trị viên ), bạn cần sử dụng Organizations và Teams.

Pull Repository

Kill quá trình trước khi pull hoàn thành (ví dụ: nhấn CTRL-Choặc mất kết nối Internet của bạn) sẽ hủy thao tác Pull. Máy chủ không lưu trữ một bản sao nếu quá trình Kill xảy ra trước khi hoàn thành.

Private Repository

Bạn phải đăng nhập trước khi truy cập Repository riêng của bạn. Tổ chức hoặc Chủ sở hữu phải cấp cho bạn quyền truy cập để sử dụng Repository riêng của người khác.

KHÔNG BAO GIỜ lưu trữ key, mật khẩu hoặc dữ liệu nhạy cảm trong bất kỳ Repository lưu trữ, công khai hoặc riêng tư!

Tạo repository

Docker Hub yêu cầu tên repository duy nhất cho namespace (ví dụ: tổ chức hoặc tài khoản cá nhân). Tên hợp lệ nằm trong khoảng từ 2 đến 255 ký tự và chỉ chứa các chữ cái thường, số, một chữ hpyhen hoặc dấu gạch ngang (khỏe – Lỗi) và dấu gạch dưới (xóa _ Hồi).

Push Repository

Nếu bạn không chỉ định tag, Docker Hub sẽ sử dụng latestlàm mặc định.

0 0 votes Article Rating

Từ khóa » Docker Hub Là Gì