Pasang Docker dan Compose pada CentOS 8 | RHEL 8
Dalam panduan ini, kami akan membimbing anda melalui langkah-langkah memasang Docker CE pada CentOS 8 | RHEL 8. Kami juga akan membincangkan cara memasang Docker Compose pada RHEL 8/CentOS 8 Linux. Docker tidak disokong secara rasmi pada RHEL 8 kerana ia telah digantikan dengan alat Red Hat – buildah dan podman. Anda boleh mempelajari lebih lanjut tentang ciri baharu yang terdapat dalam keluaran RHEL 8 Linux.
- Ciri-ciri Baharu & Ulasan Red Hat Enterprise Linux 8 (RHEL 8)
Tetapi bagaimana jika anda menggunakan Docker setiap hari dan tidak boleh beralih kepada buildah dan podman serta-merta? Jangan risau kerana terdapat cara untuk memasang Docker dan Docker Compose pada RHEL 8/CentOS 8. Docker adalah alat yang membolehkan anda mencipta, mengedar dan menjalankan aplikasi anda dalam kontena. Kontena membolehkan seorang Pembangun mengepakkan aplikasi bersama kebergantungannya dan mengedarkannya sebagai satu pakej tunggal. Kontena sering digunakan dalam persekitaran Mikroservis.
Komponen/Terminologi Docker
Terdapat beberapa istilah khusus Docker yang perlu kita jelaskan sebelum meneroka contoh pemasangan dan penggunaan. Berikut adalah terminologi yang kerap digunakan dalam ekosistem Docker.
- Daemon Docker: Ini juga dipanggil Enjin Docker, ia adalah proses latar belakang yang berjalan pada sistem hos yang bertanggungjawab untuk membina dan menjalankan kontena.
- Docker Client: Ini adalah alat baris perintah yang digunakan oleh pengguna untuk berinteraksi dengan Docker daemon.
- Imej Docker: Imej ialah fail yang tidak berubah yang pada dasarnya adalah tangkapan skrin (snapshot) bagi sebuah kontena. Imej docker mempunyai sistem fail dan kebergantungan aplikasi yang diperlukan untuk menjalankan aplikasi.
- Kontena Docker: Ini adalah instans yang sedang berjalan bagi imej docker dengan aplikasi dan kebergantungannya. Setiap kontena mempunyai ID proses unik dan terasing daripada kontena lain. Satu-satunya perkara yang dikongsi oleh kontena adalah Kernel.
- Docker registry: Ini adalah aplikasi yang bertanggungjawab untuk mengurus penyimpanan dan penghantaran imej kontena Docker. Ia boleh bersifat persendirian atau awam.
Pasang Docker CE pada CentOS 8 | RHEL 8
Setakat ini kami telah membincangkan pengenalan dan terminologi Docker. Kita seharusnya bersedia untuk memasang Docker CE di RHEL 8/CentOS 8. Kita akan mula dengan pemasangan Docker kemudian Docker Compose.
Terdapat dua edisi Docker yang tersedia.
- Community Edition (CE): sesuai untuk pembangun individu dan pasukan kecil yang ingin memulakan dengan Docker dan bereksperimen dengan aplikasi berasaskan kontena.
- Edisi Perusahaan (EE): Direka untuk pembangunan perusahaan dan pasukan IT yang membina, menghantar, dan menjalankan aplikasi penting perniagaan dalam pengeluaran pada skala besar.
Docker Enterprise Edition memerlukan lesen aktif untuk digunakan. Dalam panduan ini, kita akan memasang Docker CE pada RHEL 8. Mari kita tambah repositori Docker sebelum kita boleh memasangnya.
### CentOS 8 ###
sudo yum install -y yum-utils
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
### RHEL 8 ###
sudo yum install -y yum-utils
sudo yum-config-manager --add-repo https://download.docker.com/linux/rhel/docker-ce.repoPerintah ini akan memuat turun fail repositori Docker ke /etc/yum.repos.d/docker-ce.repo. Mari kita kemas kini cache indeks RPM.
### CentOS 8 ###
$ sudo yum makecache
CentOS Linux 8 - AppStream 23 kB/s | 4.3 kB 00:00
CentOS Linux 8 - BaseOS 20 kB/s | 3.9 kB 00:00
CentOS Linux 8 - Extras 9.2 kB/s | 1.5 kB 00:00
Docker CE Stable - x86_64 291 kB/s | 19 kB 00:00
DigitalOcean Droplet Agent 51 kB/s | 3.3 kB 00:00
Metadata cache created.
### RHEL 8 ###
$ sudo yum makecache
Updating Subscription Management repositories.
Docker CE Stable - x86_64 14 kB/s | 3.8 kB 00:00
Red Hat Enterprise Linux 8 for x86_64 - AppStream (RPMs) 33 kB/s | 2.8 kB 00:00
Red Hat Ansible Engine 2.8 for RHEL 8 x86_64 (RPMs) 29 kB/s | 2.4 kB 00:00
Red Hat Enterprise Linux 8 for x86_64 - BaseOS (RPMs) 30 kB/s | 2.4 kB 00:00
Red Hat Satellite Tools 6.6 for RHEL 8 x86_64 (RPMs) 29 kB/s | 2.1 kB 00:00
Metadata cache created.
Anda mungkin perlu menyahpasang semua versi Docker yang lebih lama beserta kebergantungan yang berkaitan. Juga nyahpasang Podman dan kebergantungan berkaitannya jika sudah dipasang.
sudo yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine \
podman \
runcAkhirnya pasang Docker CE dengan menjalankan arahan berikut di terminal anda.
sudo yum install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-pluginJika anda menghadapi masalah pergantungan dengan Podman, benarkan penghapusan.
sudo yum install docker-ce --allowerasingSetuju untuk memasang dengan menekan kekunci y pada papan kekunci anda:
...
Transaction Summary
================================================================================================================================================================================================
Install 12 Packages
Total download size: 93 M
Installed size: 389 M
Is this ok [y/N]: yImport kunci GPG juga.
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Total 51 MB/s | 93 MB 00:01
Docker CE Stable - x86_64 44 kB/s | 1.6 kB 00:00
Importing GPG key 0x621E9F35:
Userid : "Docker Release (CE rpm) <[email >"
Fingerprint: 060A 61C5 1B55 8A7F 742B 77AA C52F EB6B 621E 9F35
From : https://download.docker.com/linux/centos/gpg
Is this ok [y/N]: yMulakan dan aktifkan Perkhidmatan Docker untuk bermula semasa boot.
$ sudo systemctl enable --now docker
Created symlink /etc/systemd/system/multi-user.target.wants/docker.service → /usr/lib/systemd/system/docker.service.Status perkhidmatan docker sepatutnya menunjukkan sedang berjalan.
$ systemctl status dockerKumpulan docker telah dibuat, tetapi tiada pengguna ditambah ke dalam kumpulan ini. Tambahkan pengguna anda ke kumpulan ini untuk menjalankan perintah docker tanpa sudo
$ sudo usermod -aG docker $USER
$ newgrp docker
$ id $USER
uid=1000(jmutai) gid=1000(jmutai) groups=1000(jmutai),10(wheel),984(docker)
Log keluar dan log masuk semula untuk menggunakan Docker tanpa sudo. Versi Docker yang dipasang boleh diperiksa dengan:
docker versionUji Tarik imej docker
Langkah terakhir ialah menguji pemasangan anda dengan memuat turun bekas docker ujian.
$ docker pull alpine
Using default tag: latest
latest: Pulling from library/alpine
8e402f1a9c57: Pull complete
Digest: sha256:644fcb1a676b5165371437feaa922943aaf7afcfa8bfee4472f6860aad1ef2a0
Status: Downloaded newer image for alpine:latest
$ docker pull hello-world
Using default tag: latest
latest: Pulling from library/hello-world
2db29710123e: Pull complete
Digest: sha256:cc15c5b292d8525effc0f89cb299f1804f3a725c8d05e158653a563f15e4f685
Status: Downloaded newer image for hello-world:latest
docker.io/library/hello-world:latestSenaraikan imej yang dimuat turun.
$ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
alpine latest 5cb3aa00f899 2 days ago 5.53MB
hello-world latest fce289e99eb9 2 months ago 1.84kBSahkan bahawa Docker CE berfungsi dengan betul dengan menjalankan kontena alpine dari imej yang telah dimuat turun.
$ docker run -it --rm alpine /bin/sh
/ # apk update
fetch http://dl-cdn.alpinelinux.org/alpine/v3.15/main/x86_64/APKINDEX.tar.gz
fetch http://dl-cdn.alpinelinux.org/alpine/v3.15/community/x86_64/APKINDEX.tar.gz
v3.15.4-87-g89e29fdace [http://dl-cdn.alpinelinux.org/alpine/v3.15/main]
v3.15.4-87-g89e29fdace [http://dl-cdn.alpinelinux.org/alpine/v3.15/community]
OK: 9754 distinct packages available
/ # exitHello dunia kontena jalankan
$ docker run -it --rm 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/get-started/Pasang Docker Compose pada CentOS 8 | CentOS 8
Kami telah memasang dan menjalankan Docker, sekarang mari beralih kepada Docker Compose. Docker Compose adalah alat yang digunakan untuk mentakrif dan menjalankan aplikasi Docker berbilang kontena.
Perkhidmatan aplikasi dikonfigurasikan menggunakan fail Compose. Berbeza dengan menjalankan arahan docker, hanya satu arahan diperlukan untuk mencipta dan memulakan semua perkhidmatan dari konfigurasi anda. Docker Compose adalah alat yang hebat untuk pembangunan, ujian, dan persekitaran staging, serta aliran kerja CI.
Ikuti panduan kami yang berasingan tentang pemasangan Docker Compose terkini di Linux.
- Pasang Docker Compose pada Linux
Demi memastikan panduan ini ringkas, kita tidak akan membincangkan penggunaan Docker Compose. Saya syorkan anda merujuk kepada dokumentasi rasmi Docker dan dokumentasi Docker Compose untuk belajar lebih lanjut.
Pasang Docker UI – Pilihan
Jika anda memerlukan UI pengurusan Docker yang membolehkan anda mengurus pelayan dan kontena Docker yang berbeza dengan mudah, sila cuba Portainer. Ia mudah dipasang dan digunakan.
- Cara Memasang Pengurus UI Docker Portainer
Memantau kontena Docker
Pemantauan bekas Docker boleh dicapai dengan menggunakan alat Pemantauan seperti Netdata atau Ctop atau Prometheus dan Grafana. Panduan di bawah sepatutnya membantu.
- Ctop – Perintah Top untuk metrik kontena
- Cara Memasang Netdata pada RHEL 8/CentOS 8
- Pasang registry Docker Harbor di Linux