Docker là một công cụ được sử dụng phổ biến để triển khai các ứng dụng dựa trên container. Với Docker, bạn có thể dễ dàng tạo và quản lý các container để chạy ứng dụng một cách độc lập trên nhiều hệ thống khác nhau. Trong bài viết này, mình sẽ hướng dẫn chi tiết để cài đặt Docker phiên bản mới nhất trên hệ điều hành Ubuntu 22.04. Bạn sẽ được hướng dẫn từng bước cụ thể để cài đặt và cấu hình Docker trên Ubuntu.
Phiên bản Docker tiêu chuẩn trên hệ điều hành Ubuntu 22.04
Ubuntu có các phần mềm tiêu chuẩn được cài đặt sẵn. Một trong số đó là Docker, đây cũng là phần mềm tiêu chuẩn của hệ điều hành Ubuntu 22.04.
1
sudo apt info docker
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Package: docker
Version: 1.5-2
Priority: optional
Section: universe/x11
Origin: Ubuntu
Maintainer: Ubuntu Developers <[email protected]>
Original-Maintainer: Paul Tagliamonte <[email protected]>
Bugs: https://bugs.launchpad.net/ubuntu/+filebug
Installed-Size: 9216 B
Depends: wmdocker
Download-Size: 1316 B
APT-Sources: http://ap-east-1.ec2.archive.ubuntu.com/ubuntu jammy/universe amd64 Packages
Description: transitional package
This is a transitional package for system tray docking application.
It can safely be removed.
Khi nhìn vào Version
ở kết quả trả về, chúng ta thấy được phiên bản Docker hiện tại được cài đặt là Version: 1.5-2
.
Phiên bản này được release vào ngày 3/12/2015.
Phiên bản Docker miễn phí được gọi là Docker-CE, tên của package là docker-ce.
Bây giờ hãy kiểm tra xem package này có tồn tại hay chưa.
1
sudo apt info docker-ce
1
2
3
4
5
Package: docker-ce
State: not a real package (virtual)
N: Can't select candidate version from package docker-ce as it has no candidate
N: Can't select versions from package 'docker-ce' as it is purely virtual
N: No packages found
Như kết quả thì trên hệ điều hành chưa có package này.
Do đó bước tiếp theo chúng ta sẽ tiền hành cài đặt Docker phiên bản mới nhất hiện nay.
Lấy phiên bản Docker mới nhất trên Ubuntu 22.04
Ở thời điểm hiện tại khi viết bài viết này (30/3/2023), phiên bản mới nhất của Docker là 23.0.2
Thông tin trên trang chủ của Docker thì phiên bản 23.0.2
này được release vào ngày 28/3/2023, tức là trước ngày mình viết bài viết này 2 ngày.
Để cài đặt Docker thì chúng ta sẽ lấy package mới nhất của Docker trên trang web chính thức. Nhưng trước tiên thì cần phải cài đặt một số package cần thiết.
Cài đặt những package cần thiết
1
2
sudo apt-get update && \
sudo apt-get -y install apt-transport-https ca-certificates curl gnupg lsb-release
Add Docker GPG key
1
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
Add Docker repository
1
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
Kiểm tra file
1
cat /etc/apt/sources.list.d/docker.list
Kết quả trả về sẽ như sau:
1
deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu jammy stable
Chúng ta thấy được jammy chính là code name của phiên bản Ubuntu 22.04 LTS, còn stable cho thấy đây là phiên bản ổn định.
Update package list
1
sudo apt-get update
Kiểm tra package đã lấy về
Ở đây khi chúng ta tìm bằng docker
thì sẽ không thấy gì thay đổi trước đó. Cái chúng ta vừa thêm đó là Docker-CE
, phiên bản Docker miễn phí. Vì thế chúng ta sẽ kiểm tra thông tin của docker-ce
1
sudo apt info docker-ce
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
Package: docker-ce
Version: 5:23.0.2-1~ubuntu.22.04~jammy
Priority: optional
Section: admin
Maintainer: Docker <[email protected]>
Installed-Size: 98.8 MB
Depends: containerd.io (>= 1.6.4), docker-ce-cli, iptables, libseccomp2 (>= 2.3.0), libc6 (>= 2.34), libdevmapper1.02.1 (>= 2:1.02.97), libsystemd0
Recommends: apparmor, ca-certificates, docker-ce-rootless-extras, git, libltdl7, pigz, procps, xz-utils
Suggests: aufs-tools, cgroupfs-mount | cgroup-lite
Conflicts: docker (<< 1.5~), docker-engine, docker-engine-cs, docker.io, lxc-docker, lxc-docker-virtual-package
Replaces: docker-engine
Homepage: https://www.docker.com
Download-Size: 22.0 MB
APT-Sources: https://download.docker.com/linux/ubuntu jammy/stable amd64 Packages
Description: Docker: the open-source application container engine
Docker is a product for you to build, ship and run any application as a
lightweight container
.
Docker containers are both hardware-agnostic and platform-agnostic. This means
they can run anywhere, from your laptop to the largest cloud compute instance and
everything in between - and they don't require you to use a particular
language, framework or packaging system. That makes them great building blocks
for deploying and scaling web apps, databases, and backend services without
depending on a particular stack or provider.
N: There are 13 additional records. Please use the '-a' switch to see them.
Tiếp theo chúng ta sẽ tiến hành cài đặt Docker
Cài đặt Docker phiên bản mới nhất trên Ubuntu 22.04
Cài đặt Docker
Để cài đặt Docker thì chúng ta dùng lệnh sau, ở đây mình tổng hợp lại những package cần thiết và cài đặt chung.
1
sudo apt-get install -y docker-ce docker-ce-cli containerd.io docker-compose-plugin
Kiểm tra phiên bản Docker đã cài đặt
1
sudo docker version
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
Client: Docker Engine - Community
Version: 23.0.2
API version: 1.42
Go version: go1.19.7
Git commit: 569dd73
Built: Mon Mar 27 16:16:30 2023
OS/Arch: linux/amd64
Context: default
Server: Docker Engine - Community
Engine:
Version: 23.0.2
API version: 1.42 (minimum version 1.12)
Go version: go1.19.7
Git commit: 219f21b
Built: Mon Mar 27 16:16:30 2023
OS/Arch: linux/amd64
Experimental: false
containerd:
Version: 1.6.19
GitCommit: 1e1ea6e986c6c86565bc33d52e34b81b3e2bc71f
runc:
Version: 1.1.4
GitCommit: v1.1.4-0-g5fd4c4d
docker-init:
Version: 0.19.0
GitCommit: de40ad0
Thiết lập permission khi chạy Docker
Mặc định khi chạy lệnh Docker mà không có quyền root thì sẽ gặp lỗi sau:
1
Got permission denied while trying to connect to the Docker daemon socket at unix
Do đó chúng ta cần phải thêm user hiện tại vào docker group
1
sudo usermod -aG docker <username>
Ví dụ user hiện tại của mình là deploy
thì mình sẽ chạy câu lệnh trên như sau:
sudo usermod -aG docker deploy
Kiểm tra hoạt động của Docker
Sau khi cài đặt Docker thành công trên Ubuntu, chúng ta có thể kiểm tra xem Docker có thật sự hoạt động được hay chưa bằng cách:
1
sudo docker run hello-world
Kết quả trả về sẽ giống như dưới đây:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world
2db29710123e: Pull complete
Digest: sha256:ffb13da98453e0f04d33a6eee5bb8e46ee50d08ebe17735fc0779d0349e889e9
Status: Downloaded newer image for hello-world:latest
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/get-started/
Trên đây là hướng dẫn cách cài đặt Docker phiên bản mới nhất trên Ubuntu 22.04 một cách chi tiết và đơn giản. Với những bước hướng dẫn chi tiết trong bài viết, bạn có thể dễ dàng cài đặt và sử dụng Docker trên hệ điều hành Ubuntu.
Việc sử dụng Docker giúp cho việc triển khai ứng dụng trở nên dễ dàng và tiện lợi hơn. Bạn cũng có thể tham khảo thêm các bài viết khác trên trang web của mình để tìm hiểu thêm về Docker và các công nghệ liên quan. Nếu có bất kỳ câu hỏi hay thắc mắc nào, hãy để lại comment phía dưới, mình sẽ hỗ trợ bạn trong thời gian sớm nhất. Cảm ơn các bạn đã đọc bài viết.