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

theanh

Administrator
Nhân viên
Docker là một dự án 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, 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 16.04 ở đây với phiên bản kernel 4.4.0.


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

Đây là những 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 một 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. Docker image được sử dụng để chạy container, bạn có thể tìm thấy nhiều image 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/.

Docker Container​

Docker Container là một image có thể đọc và ghi vào chạy trên image Docker. Docker sử dụng union-file-system làm backend 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 image cơ sở. Container là lớp mà 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 image 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. Ở đây chúng ta có thể đẩy và kéo hình ảnh của riêng mình.


Cài đặt Docker trên Ubuntu 16.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 dưới dạng 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 -s
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 là 4.4.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 cho thấy phiên bản Ubuntu là 16.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.

apt-get update
apt-get upgrade

Bây giờ hãy cài đặt docker bằng lệnh apt:
Mã:
apt-get install -y 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 bằng lệnh systemctl:
Mã:
systemctl start docker
Cho phép docker chạy khi khởi động hệ thống:
Mã:
systemctl enable docker
Bạn cũng có thể muốn kiểm tra phiên bản docker:
Mã:
docker version


Bây giờ docker đã được cài đặt trong hệ thống của bạn. 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.


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ệnhdocker. Ví dụ: cách tải xuống docker image, xây dựng container và cách truy cập container.

Để tạo mộtcontainer mới, bạn nên bắt đầu bằng cách chọn một image cơ sở với hệ điều hành, ví dụ: 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 image cơ sở bằng lệnhdocker search:
Mã:
docker search ubuntu
Lệnh này sẽ hiển thị cho bạn tất cả các image 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 imagename sẽ tải xuống một 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ả cá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ừ hình ảnh đó.

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


docker create sẽ tạo một container mới nhưng không khởi động nó. Bây giờ bạn có thể sử dụng lệnh run:
Mã:
docker run -i -t ubuntu:16.04 /bin/bash
Lệnh này sẽ tạo và chạy một container dựa trên hình ảnh ubuntu 16.04 và chạy lệnh /bin/bashbê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:16.04 /bin/sh -c "while true; do echo hello world; sleep 1; done"
/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:
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? 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


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, trước tiên hãy dừng nó 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ếttại đây.

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

Để tạo tệp docker, hãy xem tại đây.

Kết luận​

Docker là 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à hạt nhân phải là phiên bản 3.10 cao hơn. Với dDocker, bạn có thể xây dựng và chạy ứng dụng của mình bên trong container rồi 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