Hướng dẫn cài đặt Docker trên CentOS 7

Hướng dẫn cài đặt Docker trên CentOS 7Docker là một open platform cung cấp cho người sử dụng những công cụ và service để người sử dụng có thể đóng gói và chạy chương trình của mình trên các môi trường khác nhau một cách nhanh nhất.

Chúng ta sẽ cùng tìm hiểu bước đầu tiên cơ bản khi tiếp cận và làm quen hệ thống Docker . Đó chính là tìm hiểu cách thức để cài đặt dịch vụ Docker trên máy chủ Linux như CentOS 7.

cài đặt docker trên centos 7

Có thể bạn quan tâm chủ đề khác
Video khoá học Docker cơ bản
Ebook Docker Up & Running
Tổng quan giao diện quản lý Jenkins CI/CD
Hướng dẫn dùng lệnh IOTOP kiểm tra hoạt động IO hệ thống
Cấu hình GRE Tunnel giữa 2 máy chủ Linux

Contents

Docker CE là gì ?

Bài viết này chúng ta sẽ không tìm hiểu Docker là gì ? Nội dung về công nghệ này ra sao. Mà chỉ tập trung vào việc cài đặt công nghệ dịch vụ Docker trên máy chủ Linux.

Hiện tại Docker chia làm 2 phiên bản : Docker Community Edition (CE)Docker EE (Enterprise Edition). Và phiên bản miễn phí mã nguồn mở chúng ta sẽ sử dụng chính là Docker CE.

Gói chương trình Docker Community Edition hiện tại tính đến tháng 06/2018 có tên gọi là ‘docker-ce’ nên bạn sẽ thấy khác với các tên gói chương trình Docker phiên bản cũ khi cài đặt trên máy chủ Ubuntu hay CentOS.

Thao tác cài đặt Docker CE trên CentOS 7

Kiểm tra tương thích Kernel
Docker sẽ không thể hoạt động như ý nếu kernel Linux của bạn thấp hơn 3.10 hoặc bị thiếu một vài module kernel.

– Kiểm tra kernel version.

# uname -r
3.10.0-514.el7.x86_64

– Để kiểm tra tính tương thích của kernel Linux và Docker bạn có thể chạy script sau của chính chủ Docker.

# curl https://raw.githubusercontent.com/docker/docker/master/contrib/check-config.sh > check-config.sh
# bash ./check-config.sh
warning: /proc/config.gz does not exist, searching other paths for kernel config ...
info: reading kernel config from /boot/config-3.10.0-514.el7.x86_64 ...

Generally Necessary:
- cgroup hierarchy: properly mounted [/sys/fs/cgroup]
- CONFIG_NAMESPACES: enabled
- CONFIG_NET_NS: enabled
- CONFIG_PID_NS: enabled
...
...

Limits:
- /proc/sys/kernel/keys/root_maxkeys: 1000000

Cài đặt thư viện và chương trình hỗ trợ
Bạn sẽ tiến hành cài đặt một số chương trình hỗ trợ cho Docker và kích hoạt repo ‘extras’ của CentOS-Base.

# yum-config-manager --enable extras
# yum install -y yum-utils device-mapper-persistent-data lvm2

Thêm thông tin repository của Docker CE.

# yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
adding repo from: https://download.docker.com/linux/centos/docker-ce.repo
grabbing file https://download.docker.com/linux/centos/docker-ce.repo to /etc/yum.repos.d/docker-ce.repo
repo saved to /etc/yum.repos.d/docker-ce.repo

Tiến hành cài đặt Docker CE.

# yum install docker-ce -y

Khởi động Docker và cấu hình startup-service cho Docker.

# systemctl start docker
# systemctl enable docker

Kiểm tra xem Docker đã hoạt động hay chưa ? Lệnh dưới đây sẽ yêu cầu docker download một test image từ Docker Repository và chạy image đó trong 1 container. Khi mà container khởi chạy thì sẽ xuất ra một thông báo và kết thúc.

# docker run hello-world

Hello from Docker!
This message shows that your installation appears to be working correctly.

To generate this message, Docker took the following steps:
1. The Docker client contacted the Docker daemon.
2. The Docker daemon pulled the "hello-world" image from the Docker Hub.
(amd64)
3. The Docker daemon created a new container from that image which runs the
executable that produces the output you are currently reading.
4. The Docker daemon streamed that output to the Docker client, which sent it
to your terminal.

To try something more ambitious, you can run an Ubuntu container with:
$ docker run -it ubuntu bash

Share images, automate workflows, and more with a free Docker ID:
https://hub.docker.com/

For more examples and ideas, visit:
https://docs.docker.com/engine/userguide/

Kiểm tra phiên bản Docker đang sử dụng.

# docker version
Client:
Version: 18.05.0-ce
API version: 1.37
Go version: go1.9.5
Git commit: f150324
Built: Wed May 9 22:14:54 2018
OS/Arch: linux/amd64
Experimental: false
Orchestrator: swarm

Server:
Engine:
Version: 18.05.0-ce
API version: 1.37 (minimum version 1.12)
Go version: go1.9.5
Git commit: f150324
Built: Wed May 9 22:18:36 2018
OS/Arch: linux/amd64
Experimental: false

Kiểm tra một số thông tin về chương trình dịch vụ Docker thống kê cơ bản.

# docker info
Containers: 2
Running: 0
Paused: 0
Stopped: 2
Images: 1
Server Version: 18.05.0-ce
Storage Driver: overlay2
Backing Filesystem: extfs
Supports d_type: true
Native Overlay Diff: false
Logging Driver: json-file
Cgroup Driver: cgroupfs
Plugins:
Volume: local
Network: bridge host macvlan null overlay
Log: awslogs fluentd gcplogs gelf journald json-file logentries splunk syslog
Swarm: inactive
Runtimes: runc
Default Runtime: runc
Init Binary: docker-init
containerd version: 773c489c9c1b21a6d78b5c538cd395416ec50f88
runc version: 4fc53a81fb7c994640722ac585fa9ca548971871
init version: 949e6fa
Security Options:
seccomp
Profile: default
Kernel Version: 3.10.0-514.el7.x86_64
Operating System: CentOS Linux 7 (Core)
OSType: linux
Architecture: x86_64
CPUs: 2
Total Memory: 1.065GiB
Name: openvpnlab.azdigi.com
ID: YPZB:42L6:3NBZ:PIZA:DRDP:JNBE:TCLZ:G262:NK6J:4Q2J:35WZ:PAAC
Docker Root Dir: /var/lib/docker
Debug Mode (client): false
Debug Mode (server): false
Registry: https://index.docker.io/v1/
Labels:
Experimental: false
Insecure Registries:
127.0.0.0/8
Live Restore Enabled: false

WARNING: bridge-nf-call-iptables is disabled
WARNING: bridge-nf-call-ip6tables is disabled

Gỡ cài đặt Docker trên CentOS 7

Để tiến hành gỡ cài đặt Docker trên CentOS 7 , cực kì đơn giản bạn chỉ cần remove và xoá thư mục hoạt động của Docker.

# yum remove docker-ce -y
# rm -rf /var/lib/docker

Tổng kết

Qua bài viết bạn đã biết bước đầu cài đặt Docker trên máy chủ CentOS 7 như thế nào rồi phải không. Sau khi hoàn thành bước khởi động này chúng ta sẽ sớm tiếp tục hành trình tìm hiểu về Docker.

Nguồn: https://cuongquach.com/

Previous articleEbook Beginning Elastic Stack (PDF)
Next articleDocker: Sự khác biệt giữa lệnh ‘docker run’ và ‘docker exec’
Bạn đang theo dõi website "https://cuongquach.com/" nơi lưu trữ những kiến thức tổng hợp và chia sẻ cá nhân về Quản Trị Hệ Thống Dịch Vụ & Mạng, được xây dựng lại dưới nền tảng kinh nghiệm của bản thân mình, Quách Chí Cường. Hy vọng bạn sẽ thích nơi này !