Chuẩn bị môi trường
Trước tiên, kiểm tra phiên bản hệ điều hành để đảm bảo tính tương thích:
[admin@server01 ~]$ cat /etc/redhat-release
CentOS Linux release 7.6.1810 (Core)
Bước 1: Cài đặt công cụ quản lý kho yum
Gói yum-utils cung cấp tiện ích yum-config-manager giúp thêm kho phần mềm một cách thuận tiện:
[admin@server01 ~]$ sudo yum install -y yum-utils
Bước 2: Thêm kho lưu trữ Docker
Thiết lập kho ổn định từ nhà phát triển:
sudo yum-config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo
Bước 3: Chọn và cài đặt phiên bản Docker
Xem danh sách các bản có sẵn để chọn phiên bản phù hợp:
[admin@server01 ~]$ yum list docker-ce --showduplicates | sort -r
Sau khi xem xét, tiến hành cài đặt phiên bản cụ thể cùng các thành phần đi kèm:
[admin@server01 ~]$ sudo yum install docker-ce-18.09.1 docker-ce-cli-18.09.1 containerd.io
Kiểm tra phiên bản vừa cài:
[admin@server01 ~]$ docker version
Client:
Version: 18.09.1
API version: 1.39
Go version: go1.10.6
Git commit: 4c52b90
Built: Wed Jan 9 19:35:01 2019
OS/Arch: linux/amd64
Experimental: false
Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?
Thông báo cuối cho biết dịch vụ chưa được khởi động — điều này là bình thưng sau khi cài đặt.
Bước 4: Khởi động dịch vụ Docker
[admin@server01 ~]$ sudo systemctl start docker
Để Docker tự động chạy khi khởi động lại máy:
[admin@server01 ~]$ sudo systemctl enable docker
Bưc 5: Xác minh cài đặt
Chạy thử container đầu tiên từ ảnh hello-world:
[admin@server01 ~]$ sudo docker run hello-world
Unable to find image 'hello-world:latest' locally
Trying to pull repository docker.io/library/hello-world ...
latest: Pulling from docker.io/library/hello-world
0e03bdcc26d7: Pull complete
Digest: sha256:8e3114318a995a1ee497790535e7b88365222a21771ae7e53687ad76563e8e76
Status: Downloaded newer image for docker.io/hello-world:latest
Hello from Docker!
This message shows that your installation appears to be working correctly.
Bước 6: Kiểm tra container đã tạo
Liệt kê toàn bộ container để xem trạng thái:
[admin@server01 ~]$ docker container ls --all
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
218266cad2b6 hello-world "/hello" 10 seconds ago Exited (0) 9 seconds ago condescending_lichterman
Trạng thái Exited cho thấy container đã hoàn thành nhiệm vụ và tự động dừng — đây là hành vi mong đợi với ảnh hello-world.
Lưu ý về quyền thực thi
Mặc định, mọi lệnh docker đều yêu cầu quyền root hoặc thành viên nhóm docker. ể sử dụng không cần sudo, thêm người dùng hiện tại vào nhóm:
sudo usermod -aG docker $USER
Sau đó đăng xuất và đăng nhập lại để áp dụng thay đi.