Tìm Hiểu Về Docker Hub Và Cách Tạo 1 Docker Image - Viblo
Có thể bạn quan tâm

Github chắc anh em chẳng lạ gì rồi, vậy Docker Hub là gì? liệu Hub trong "Docker Hub" và "hub" trong "github" có giống nhau không? Cùng mình tìm hiểu nhé 
1. Docker Hub
Docker Hub là một dịch vụ do Docker cung cấp, cho phép tìm kiếm và chia sẻ các container images. Các tính năng chính của Docker Hub là:
- Repositories: Push và pull container images.
- Teams & Organizations: Quản lý quyền truy cập vào private repositories của container images.
- Official Images: Pull sử dụng container images chất lượng cao của Docker.
- Publisher Images: Pull và sử dụng container images được cung cấp bởi vendors khác.
- Builds: Tự động tạo container images từ GitHub và Bitbucket. Push chúng lên Docker Hub.
- Webhooks: Kích hoạt các actions sau khi push thành công một repository lên Docker Hub với các dịch vụ khác.
Để sử dụng Docker Hub, bạn hãy đăng ký một tài khoản tại đây.
Nếu máy tính của bạn chưa cài đặt docker thì có thể cài đặt bằng cách xem hướng dẫn tại đây, hoặc đọc bài viết này của mình 
Còn nếu mãy tính của bạn đã cài docker, bạn hãy mở terminal và chạy lệnh:
docker loginsau đó nhập username và passwork. Nếu kết quả bạn nhận được là
Login Succeededthì oke đó. Giờ chúng ta có thể tạo các docker images rồi.
2. Tạo một Docker Image
Đầu tiên, chúng ta cần tạo 1 repository trên Docker Hub, đây sẽ là nơi lưu trữ image của chúng ta.
Để tạo repository, bạn hãy đăng nhập Docker Hub và truy cập trang: https://hub.docker.com/repository/create
Ví dụ ở đây mình đã tạo 1 repository có tên là 2020-09-test

Giờ mình sẽ hướng dẫn các bạn cách để tạo 1 image dưới local và push nó lên repository. Cực ký đơn giản thôi.
Trước hết, chúng ta sẽ tạo 1 Dockerfile
cat > Dockerfile <<EOF FROM busybox CMD echo "Hello world! This is 2020-09-test." EOFMột file Dockerfile sẽ được tạo ra như vậy
-rw-r--r-- 1 user 68 Th09 11 14:29 DockerfileThử build nào
$ docker build - < Dockerfile Sending build context to Docker daemon 3.072kB Step 1/2 : FROM busybox latest: Pulling from library/busybox df8698476c65: Pull complete Digest: sha256:d366a4665ab44f0648d7a00ae3fae139d55e32f9712c67accd604bb55df9d05a Status: Downloaded newer image for busybox:latest ---> 6858809bf669 Step 2/2 : CMD echo "Hello world! This is 2020-09-test." ---> Running in 9df65757d429 Removing intermediate container 9df65757d429 ---> 9736d7eb35b9 Successfully built 9736d7eb35b9Vậy là chúng ta đã tạo được 1 image trên local có id là 9736d7eb35b9. Thử run image nha:
$ docker run 9736d7eb35b9 Hello world! This is 2020-09-test.Vậy là image của chúng ta đã chạy với CONTAINER ID là c2c4f119039a.
docker ps -a. CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES c2c4f119039a 9736d7eb35b9 "/bin/sh -c 'echo \"H…" 2 minutes ago Exited (0) 2 minutes ago epic_dhawanGiờ thì commit và push image lên Docker Hub thôi nào 
Kết quả sau khi push xong thì chúng ta đã có 1 image với tagname là latest

Giờ thì pull về và dùng thử xem sao ha 
Ngon rôì nhé, thử chạy image nào:
$ docker run haihachan/2020-09-test Hello world! This is 2020-09-test.Có vẻ đơn giản ha. Nhưng mà để tìm hiểu sâu hơn thì bạn hãy tìm hiểu ở đây nhé. Document của Docker Hub thực sự rất lừa người dùng 


3. Tạo một Docker Image với repo Github
Ngoài cách push như mục 2, chúng ta cũng có thể connect repository của Docker Hub với Github. Sau đó, thay vì push image lên Docker Hub, chúng ta có thể push code lên github, và build image trên giao diện của Docker Hub.
Đầu tiên, bạn cần connect tài khoản Github trên Docker Hub tại đây: https://hub.docker.com/settings/linked-accounts
Sau khi đã connected, bạn vào repository, chọn tag Builds:

Sau khi click vào biểu tượng của Github, bạn hãy chọn repo muốn lưu source code cho image của bạn:

Click Save and Build, vậy là source code trên Github của bạn sẽ được build thành image. Quá dễ đúng không nào.
Hi vọng là bài viết này có ích với bạn, mình sẽ tìm hiểu và chia sẻ thêm với các bạn về các command docker cần biết trong bài sau nhé (vì nhiều lệnh quá). Hẹn gặp lại bạn trong những bài viết tiếp theo.
Tài liệu tham khảo:
https://docs.docker.com/docker-hub/
https://docs.docker.com/engine/reference/commandline
Từ khóa » Docker Hub Là Gì
-
Docker - Những Kiến Thức Cơ Bản Phần 2 - Viblo
-
Docker: Tìm Hiểu Về Docker Hub Là Gì ? - Technology Diver
-
Docker - Hub - Hoclaptrinh
-
Docker Hub Trong Docker
-
DOCKER HUB - - VnPro
-
Docker Hub: Tìm Hiểu Thêm Một Chút Về Công Nghệ Docker | Từ Linux
-
Docker Hub | Lê Vũ Nguyên Dạy Học Lập Trình
-
Phần 9 - Sử Dụng Docker Hub
-
Docker Hub Là Gì? Reviews, Tính Năng, Bảng Giá, So Sánh
-
Docker Hub Là Gì ? - Happy Coding !!!
-
Hướng Dẫn Push, Pull Image Từ Docker Hub - Technical Blog
-
Docker Là Gì? Tìm Hiểu Thêm Kiến Thức Về Docker | TopDev
-
Cách Tạo Kho Lưu Trữ Công Khai / Riêng Tư Trong Docker Hub Và Kết ...
-
Docker Là Gì? Kiến Thức Cơ Bản Về Docker