Part 2 – Cách cài đặt và sử dụng Docker trên Ubuntu 18.04 (phần 1)

By | 11 December, 2018

Docker là một công nghệ container hóa cho phép bạn nhanh chóng xây dựng, kiểm tra và triển khai các ứng dụng dưới dạng các container di động, tự cung cấp, hầu như có thể chạy ở mọi nơi.

Docker đã trở thành tiêu chuẩn thực tế cho việc triển khai container và nó là một công cụ thiết yếu cho các kỹ sư DevOps và phân phối pipeline và tích hợp liên tục của họ.

Trong hướng dẫn này, chúng ta sẽ tìm hiểu cách cài đặt Docker trên máy Ubuntu 18.04 và khám phá các khái niệm và lệnh cơ bản của Docker.

Điều kiện tiên quyết

Trước khi tiếp tục với hướng dẫn này, hãy đảm bảo bạn đã đăng nhập với tư cách là user có quyền sudo . Tất cả các lệnh trong hướng dẫn này nên được chạy như một user không root.

Cài đặt Docker trên Ubuntu

Mặc dù gói cài đặt Docker có sẵn trong kho lưu trữ Ubuntu 18.04 chính thức nhưng nó có thể không phải luôn là phiên bản mới nhất. Cách tiếp cận được đề xuất là cài đặt gói Docker mới nhất từ ​​kho của Docker.

Để cài đặt Docker trên Ubuntu 18.04, hãy làm theo các bước sau:

  • Đầu tiên, cập nhật chỉ mục gói và nâng cấp hệ thống của bạn bằng các lệnh sau:
sudo apt update && sudo apt upgrade
  • Tiếp theo, Cài đặt các phụ thuộc cần thiế t để kích hoạt kho lưu trữ mới qua HTTPS:
$ sudo apt install apt-transport-https ca-certificates curl software-properties-common
  • Nhập khóa GPG của kho lưu trữ bằng lệnh curl sau :
$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add - 
  • Thêm kho lưu trữ APT Docker vào danh sách kho lưu trữ phần mềm của hệ thống của bạn bằng cách nhập:
$ sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
  • Giờ đây, kho Docker đã được bật, hãy cập nhật danh sách apt và cài đặt phiên bản Docker CE (Community Edition) mới nhất với: 

$ sudo apt updatesudo apt install docker-ce

  • Sau khi cài đặt hoàn tất, dịch vụ Docker sẽ tự động bắt đầu. Bạn có thể xác minh nó bằng cách gõ:sudo systemctl status docker Đầu ra sẽ trông giống như thế này:
 docker.service - Docker Application Container Engine   Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled)   Active: active (running) since Mon 2018-06-18 01:22:00 PDT; 6min ago     Docs: https://docs.docker.com Main PID: 10647 (dockerd)    Tasks: 21   CGroup: /system.slice/docker.service 
  • Tại thời điểm viết bài, phiên bản Docker mới nhất có sẵn cho Ubuntu 18.04 là 18.03.1-ce. Kiểm tra phiên bản Docker bằng cách gõ $ docker -v Output: Docker version 18.03.1-ce, build 9ee9f40

Thực hiện lệnh Docker không có Sudo

Theo mặc định, quản lý Docker yêu cầu quyền quản trị viên. Nếu bạn muốn chạy các lệnh Docker với tư cách là user không phải root mà không cần login trước, sbạn cần thêm user của mình vào nhóm docker được tạo trong quá trình cài đặt gói Docker CE. Bạn có thể làm điều đó bằng cách gõ:

sudo usermod -aG docker $USER

Đăng xuất và đăng nhập lại để group được làm mới.

Để xác minh Docker đã được cài đặt thành công và bạn có thể chạy các lệnh docker mà không cần sudo chạy trước lệnh sau sẽ tải xuống một Image thử nghiệm, chạy nó trong một container, in một tin nhắn Hello Hello từ tin nhắn Docker và thoát:

$ docker container run hello-world

Đầu ra sẽ trông như sau:

docker-hello-world

Giao diện dòng lệnh Docker

Lệnh Docker CLI có dạng này:

$ docker [option] [subcommand] [arguments]

Để liệt kê tất cả các lệnh có sẵn chạy docker không có tham số:

$ docker

Nếu bạn cần thêm trợ giúp về bất kỳ [subcommand], bạn có thể sử dụng  --help như dưới đây:

$ docker [subcommand] --help

Docker Image

Docker Image được tạo thành từ một loạt các lớp hệ thống tập tin biểu thị các hướng dẫn trong Dockerfile của image tạo nên một ứng dụng phần mềm thực thi. Image là một tệp nhị phân bất biến bao gồm ứng dụng và tất cả các phụ thuộc khác như thư viện, tệp nhị phân và hướng dẫn cần thiết để chạy ứng dụng.

Bạn có thể nghĩ về Docker Image như một ảnh chụp nhanh của container Docker.

Hầu hết các Docker Image có sẵn trên Docker Hub.

Docker Hub là dịch vụ đăng ký dựa trên đám mây, trong số các chức năng khác được sử dụng để lưu giữ Docker Image trong kho lưu trữ công cộng hoặc riêng tư.

Tìm kiếm Docker Image

Để tìm kiếm một Image từ đăng ký Docker Hub, chỉ cần sử dụng command  search.

Ví dụ: để tìm kiếm Image Ubuntu, bạn sẽ gõ:

$ docker search ubuntu

Đầu ra sẽ trông như thế này:

docker-search-image

Như bạn có thể thấy kết quả tìm kiếm sẽ in một bảng với năm cột, NAMEDESCRIPTIONSTARSOFFICIALvà AUTOMATED.

Image chính thức là Image mà Docker phát triển kết hợp với các đối tác tạo ra nó.

Hầu hết các Docker Image trên Docker Hub được gắn thẻ với số phiên bản. Khi không có thẻ được chỉ định Docker sẽ pull Image mới nhất.

Tải xuống Docker Image

Nếu chúng ta muốn tải xuống bản dựng chính thức của Image Ubuntu 18.04, chúng ta có thể làm điều đó bằng cách sử dụng image pull :

$ docker image pull ubuntu

Tùy thuộc vào tốc độ Internet của bạn, quá trình tải xuống có thể mất vài giây hoặc vài phút.

Vì chúng ta chưa chỉ định tag, docker sẽ lấy Image Ubuntu mới nhất là 18.04. Nếu bạn muốn lấy một số phiên bản Ubuntu trước đó, giả sử Ubuntu 16.04 thì bạn cần sử dụng $ docker image pull ubuntu:16.04

Khi Image được tải xuống, chúng ta có thể liệt kê các Image bằng cách gõ:

docker image ls

Đầu ra sẽ trông giống như thế này:

docker-list-images

Xóa Docker Image

Nếu vì lý do nào đó bạn muốn xóa một Image, bạn có thể làm điều đó với image rm [image_name]:

$ docker image rm ubuntu
docker-remove-image

Docker container

Một thể hiện của một Image được gọi là một container. Một container đại diện cho thời gian chạy cho một ứng dụng, quy trình hoặc dịch vụ.

Nó có thể không phải là so sánh thích hợp nhất nhưng nếu bạn là một lập trình viên, bạn có thể nghĩ Docker Image là class và Docker container như một instance của một class.

Chúng ta có thể start, stop, remove và quản lý một container với command  docker container.

Bắt đầu Docker Container

Lệnh sau sẽ khởi động Container Docker dựa trên Image Ubuntu. Nếu bạn không có Image cục bộ, nó sẽ tải xuống trước:

docker container run ubuntu

Thoạt nhìn có vẻ như không có gì xảy ra cả. Vâng, đó không phải là sự thật. Container Ubuntu dừng ngay lập tức sau khi khởi động lên vì nó không có quá trình chạy dài và chúng ta không cung cấp bất kỳ lệnh nào, vì vậy Container đã khởi động, chạy một lệnh trống và sau đó thoát ra.

Tham số -it cho phép chúng ta tương tác với container thông qua dòng lệnh. Để bắt đầu một loại container tương tác:

$ docker container run -it ubuntu /bin/bash
[[email protected] /]#

Như bạn có thể thấy từ đầu ra ở trên khi container được khởi động, dấu nhắc lệnh được thay đổi, điều đó có nghĩa là bạn hiện đang làm việc từ bên trong container:

Danh sách Docker Container

Để liệt kê các container đang hoạt động, gõ:

$ docker container ls
docker-container-ls

Nếu bạn không có bất kỳ container đang chạy, đầu ra sẽ trống.

Để xem cả container đang hoạt động và không hoạt động, hãy chuyển qua  -a:

docker container ls -a
docker-list-all-containers

Loại bỏ các Docker Container

Để xóa một hoặc nhiều container, chỉ cần sao chép ID container (hoặc ID) và dán chúng sau container rm:

$ docker container rm c55680af670c

Phần kết luận

Bạn đã tìm hiểu cách cài đặt Docker trên máy Ubuntu 18.04 của mình và cách tải xuống Docker Image và quản lý các container Docker. Bạn cũng có thể muốn đọc về Docker Compose , cho phép bạn xác định và chạy các ứng dụng Docker đa container.

Hướng dẫn này bàn sơ qua về hệ sinh thái Docker. Trong một số bài viết tiếp theo, chúng ta sẽ tiếp tục đi sâu vào các khía cạnh khác của Docker. Để tìm hiểu thêm về Docker, hãy xem tài liệu chính thức của Docker .

Nếu bạn có bất kỳ câu hỏi, xin vui lòng để lại một bình luận dưới đây.