Docker: Cài đặt và sử dụng cơ bản trên Ubuntu 18.04 LTS

theanh

Administrator
Nhân viên
Docker là một dự án mã nguồn mở cung cấp nền tảng mở cho các nhà phát triển và quản trị viên hệ thống để xây dựng, đóng gói và chạy ứng dụng ở bất kỳ đâu dưới dạng một vùng chứa nhẹ. Docker tự động triển khai các ứng dụng bên trong vùng chứa phần mềm. Quá trình phát triển Docker được Solomon Hykes bắt đầu như một dự án nội bộ tại dotCloud, một PaaS (nền tảng dưới dạng dịch vụ) dành cho doanh nghiệp, nhưng phần mềm hiện được cộng đồng docker và Docker Inc. bảo trì. Bạn có thể tìm hiểu thêm về Docker trong tài liệu tại đây https://docs.docker.com/.

Docker yêu cầu kiến trúc 64 bit để cài đặt và Linux Kernel phải là 3.10 trở lên. Tôi sẽ sử dụng Ubuntu Linux ở đây.

Những điều cần biết về Docker​

Sau đây là các thuật ngữ cơ bản trong thế giới docker mà bạn nên biết.

Hình ảnh Docker​

Hình ảnh Docker là mẫu cơ bản cho vùng chứa Docker. Một hình ảnh thường chứa hệ điều hành và các ứng dụng được cài đặt sẵn. Hình ảnh Docker được sử dụng để chạy container, bạn có thể tìm thấy nhiều hình ảnh với nhiều hệ điều hành và phần mềm khác nhau đã được cài đặt trong Docker Hub https://hub.docker.com/. Bạn cũng có thể tạo hình ảnh Docker của riêng mình bằng Dockerfile.

Docker Container​

Docker Container là một hình ảnh có thể đọc và ghi vào chạy trên hình ảnh Docker. Docker đang sử dụng union-file-system làm phụ trợ cho container; bất kỳ thay đổi nào được thực hiện trong container sẽ được lưu trong một lớp mới phía trên ảnh cơ sở. Container là lớp nơi chúng ta cài đặt các ứng dụng. Mỗi container chạy riêng biệt trong máy chủ và do đó, cung cấp một nền tảng ứng dụng an toàn.

Docker Registry​

Docker registry là một kho lưu trữ cho các hình ảnh Docker. Nó cung cấp các kho lưu trữ công khai và riêng tư. Docker registry công khai được gọi là Docker Hub. Tại đây, chúng ta có thể đẩy và kéo các hình ảnh của riêng mình.

Cài đặt Docker trên Ubuntu 18.04​

Trong phần này, bạn sẽ được hướng dẫn cài đặt docker. Trước khi cài đặt phần mềm, hãy kiểm tra phiên bản kernel và kiến trúc hệ điều hành. Các lệnh tiếp theo phải được chạy với tư cách là người dùng root. Chạy lệnh này để trở thành root trên hệ thống Ubuntu của bạn.
Mã:
sudo su
Sau đó chạy uname -a để kiểm tra phiên bản của hạt nhân Linux hiện đang chạy.
Mã:
uname -a


Bạn có thể thấy rằng tôi đang sử dụng phiên bản hạt nhân 4.15.0 với Hạt nhân 64Bit (x86_64).

Để kiểm tra phiên bản Ubuntu, hãy chạy:
Mã:
cat /etc/lsb-release


Lệnh này cho thấy phiên bản Ubuntu là 18.04.

Bạn nên cập nhật Ubuntu trước khi cài đặt phần mềm mới. Chạy lệnh sau để tải các bản cập nhật mới nhất từ kho lưu trữ Ubuntu và cài đặt chúng.
Mã:
sudo apt-get update
sudo apt-get upgrade
Bây giờ chúng ta đã sẵn sàng cài đặt Docker trên máy chủ.

Để cài đặt Docker, chúng ta có thể sử dụng các gói từ 'Kho lưu trữ Ubuntu' hoặc sử dụng các gói từ 'Kho lưu trữ Docker'.

Cài đặt Docker từ Kho lưu trữ Ubuntu​

Nếu bạn muốn cài đặt phiên bản docker từ kho lưu trữ Ubuntu, bạn có thể chạy lệnh apt bên dưới.
Mã:
sudo apt install docker.io
Chờ cho đến khi quá trình cài đặt hoàn tất, sau đó bạn có thể khởi động Docker và thêm nó vào thời gian khởi động bằng lệnh systemctl:
Mã:
systemctl start docker
systemctl enable docker
Bạn cũng có thể muốn kiểm tra docker version:
Mã:
docker --version


Và bạn sẽ cài đặt docker 17.12 từ Ubuntu Repository.

Cài đặt Docker từ Docker Repository​

Trước khi cài đặt docker-ce từ kho lưu trữ Docker, hãy cài đặt một số phần phụ thuộc bằng lệnh apt như được hiển thị bên dưới.
Mã:
sudo apt install \
 apt-transport-https \
 ca-certificates \
 curl \
 software-properties-common
Khi quá trình cài đặt hoàn tất, hãy thêm khóa docker và kho lưu trữ docker 'nightly'.
Mã:
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
echo "deb [arch=amd64] https://download.docker.com/linux/ubuntu bionic nightly" > /etc/apt/sources.list.d/docker-nightly.list
và cập nhật kho lưu trữ.
Mã:
sudo apt update
Bây giờ kho lưu trữ docker đã được thêm vào hệ thống.

Kiểm tra tất cả các gói docker do kho lưu trữ docker cung cấp bằng lệnh apt-cache.
Mã:
sudo apt search docker-ce
sudo apt-cache policy docker-ce
Và bạn sẽ thấy các phiên bản docker khác nhau như bên dưới.



Cài đặt bằng lệnh apt bên dưới.
Mã:
sudo apt install docker-ce
Khi quá trình cài đặt hoàn tất, hãy khởi động dịch vụ docker và cho phép dịch vụ này khởi chạy mỗi khi khởi động hệ thống.
Mã:
systemctl start docker
systemctl enable docker
Bây giờ hãy kiểm tra phiên bản docker đã cài đặt trên hệ thống.
Mã:
docker --version
Và bạn sẽ thấy docker 18.x đã cài đặt trên hệ thống. Bây giờ bạn có thể bắt đầu tạo một container bằng cách tải xuống Docker Image từ Docker Registry.


Chạy Docker với tư cách là Người dùng không phải root​

Để chạy Docker với tư cách là người dùng bình thường/không phải root, chúng ta cần thêm một người dùng hệ thống mới. Chúng ta sẽ thêm người dùng mới có tên là 'hakase', sau đó thêm người dùng này vào nhóm 'docker'.

Thêm người dùng 'hakase'.
Mã:
useradd -m -s /bin/bash hakase
passwd hakase
Thêm 'hakase' use vào nhóm 'docker'.
Mã:
usermod -aG docker hakase
Bây giờ hãy đăng nhập với tư cách là người dùng 'hakase' và chạy lệnh docker.
Mã:
su - hakase
docker run hello-world
Và bạn sẽ nhận được hello world từ docker.


Cách sử dụng Docker cơ bản​

Trong phần này, tôi sẽ chỉ cho bạn các tùy chọn thường dùng của lệnh docker. Ví dụ: cách tải xuống hình ảnh docker, xây dựng một container và cách truy cập container.

Để tạo một container mới, bạn nên bắt đầu bằng cách chọn một hình ảnh cơ sở với hệ điều hành, ví dụ như ubuntu hoặc centos hoặc một hệ điều hành khác. Bạn có thể tìm kiếm một hình ảnh cơ sở bằng lệnh docker search:
Mã:
docker search ubuntu
Lệnh này sẽ hiển thị cho bạn tất cả các hình ảnh ubuntu. Bạn có thể tự mình thử docker search centos v.v.



Bây giờ là lúc tải xuống hình ảnh cơ sở về máy chủ của chúng ta, hãy sử dụng lệnh:
Mã:
docker pull ubuntu
Lệnh docker pull image-name sẽ tải xuống hình ảnh về máy chủ của bạn từ docker registry/DockerHub.



Bây giờ bạn có thể xem tất cả hình ảnh đã tải xuống bằng cách sử dụng lệnh:
Mã:
docker images


Hình ảnh Ubuntu đã được tải xuống từ DockerHub/Docker Registry. Bước tiếp theo là tạo một container từ image đó.

Để tạo container, bạn có thể sử dụng docker create hoặc docker run.
Mã:
docker create ubuntu:18.04


lệnh docker create sẽ tạo một container mới nhưng không khởi động nó. Vì vậy, bây giờ bạn có thể sử dụng lệnh run:
Mã:
docker run -i -t ubuntu:18.04 /bin/bash
Lệnh này sẽ tạo và chạy một container dựa trên image ubuntu 18.04 và chạy lệnh /bin/bash bên trong container, bạn sẽ tự động vào bên trong container sau khi chạy lệnh.



Container sẽ dừng khi bạn thoát khỏi nó bằng lệnh exit. Nếu bạn muốn có một container chạy ở chế độ nền, bạn chỉ cần thêm tùy chọn -d vào lệnh.
Mã:
docker run -i -t -d ubuntu:18.04 /bin/sh -c "while true; do echo hello world; sleep 1; done"
Lưu ý:

/bin/sh -c "while true; do echo hello world; sleep 1; done" đây là tập lệnh bash để echo "hello word" mãi mãi.



Bây giờ bạn có thể thấy container chạy ở chế độ nền bằng cách sử dụng lệnh sau:
Mã:
docker ps
hoặc nếu bạn muốn xem kết quả nhật ký từ lệnh bash đó, bạn có thể sử dụng lệnh:
Mã:
docker logs NAMES/ContainerID
Làm thế nào để tôi có thể truy cập shell của container chạy ở chế độ nền chế độ?

Lệnh này sẽ kết nối bạn với shell của container:
Mã:
docker exec -i -t NAMES/ContainerID /bin/bash
Nhập một container Docker đang chạy.

Bạn có thể thấy tên máy chủ và ID container bằng nhau, điều này có nghĩa là bạn đang ở bên trong shell container. Khi bạn nhập `exit` trên shell đó, bạn sẽ thoát khỏi shell đó nhưng container vẫn đang chạy.

Một lệnh khác mà bạn sẽ thường sử dụng là:
Mã:
docker stop NAME/ContainerID
Lệnh này sẽ dừng container mà không xóa nó, do đó bạn có thể khởi động lại bằng lệnh:
Mã:
docker start NAME/ContainerID
Nếu bạn muốn xóa container, hãy dừng nó trước rồi xóa bằng lệnh:
Mã:
docker rm NAME/ContainerID
Đây chỉ là phần giới thiệu ngắn gọn về cách cài đặt và sử dụng Docker cơ bản trên Ubuntu, bạn có thể tìm trang tài liệu Docker chi tiết tại đây.

Phần giới thiệu chuyên sâu về Docker có trong loạt bài hướng dẫn Howtoforge này: https://www.howtoforge.com/tutorial/how-to-use-docker-introduction/

Kết luận​

Docker là một nền tảng ảo hóa container nguồn mở giúp các nhà phát triển triển khai ứng dụng và quản trị viên hệ thống quản lý ứng dụng trong môi trường container ảo an toàn. Docker chạy trên kiến trúc Intel / AMD 64-bit và kernel phải là phiên bản 3.10 cao hơn. Với Docker, bạn có thể xây dựng và chạy ứng dụng của mình bên trong một container, sau đó di chuyển container của mình sang các máy khác chạy docker mà không phải lo lắng gì.
 
Back
Bên trên