Instal Docker dan Pelajari Manipulasi Kontainer Dasar di CentOS dan RHEL 8/7 - Bagian 1


Dalam seri 4 artikel ini, kita akan membahas Docker, yang merupakan alat virtualisasi ringan sumber terbuka yang berjalan di tingkat Sistem Operasi teratas, memungkinkan pengguna membuat, menjalankan, dan menerapkan aplikasi, yang dikemas dalam ukuran kecil. kontainer.

Kontainer Linux jenis ini terbukti cepat, portabel, dan aman. Proses yang berjalan di container Docker selalu diisolasi dari host utama, sehingga mencegah gangguan dari luar.

Tutorial ini memberikan titik awal tentang cara menginstal Docker, membuat dan menjalankan container Docker di CentOS/RHEL 8/7, namun hampir tidak menyentuh permukaan Docker.

Langkah 1: Instal dan Konfigurasikan Docker

1. Versi Docker sebelumnya disebut docker atau docker-engine, jika Anda sudah menginstalnya, Anda harus copot pemasangannya sebelum memasang versi docker-ce yang lebih baru.

yum remove docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-engine

2. Untuk menginstal Mesin Docker versi terbaru, Anda perlu menyiapkan repositori Docker dan menginstal paket yum-utils untuk mengaktifkan Docker repositori stabil pada sistem.

yum install -y yum-utils
yum-config-manager \
    --add-repo \
    https://download.docker.com/linux/centos/docker-ce.repo

3. Sekarang instal versi docker-ce yang lebih baru dari repositori Docker dan containerd secara manual, karena karena beberapa masalah, Red Hat memblokir instalasi dari containerd.io > 1.2.0-3.el7, yang merupakan ketergantungan dari docker-ce.

yum install https://download.docker.com/linux/centos/7/x86_64/stable/Packages/containerd.io-1.2.6-3.3.el7.x86_64.rpm
yum install docker-ce docker-ce-cli

4. Setelah paket Docker diinstal, jalankan daemon, periksa statusnya dan aktifkan di seluruh sistem menggunakan perintah di bawah ini:

systemctl start docker 
systemctl status docker
systemctl enable docker

5. Terakhir, jalankan image pengujian container untuk memverifikasi apakah Docker berfungsi dengan baik, dengan mengeluarkan perintah berikut:

docker run hello-world

Jika Anda dapat melihat pesan di bawah ini, berarti semuanya sudah beres.

Contoh Keluaran
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/

6. Sekarang, Anda dapat menjalankan beberapa perintah dasar Docker untuk mendapatkan beberapa informasi tentang Docker:

Untuk informasi seluruh sistem tentang Docker
docker info

Untuk versi Docker
docker version

7. Untuk mendapatkan daftar semua perintah Docker yang tersedia, ketik docker di konsol Anda.

docker

Langkah 2: Unduh Gambar Docker

8. Untuk memulai dan menjalankan kontainer Docker, pertama-tama, gambar harus diunduh dari Docker Hub di host Anda. Docker Hub menawarkan banyak image gratis dari repositorinya.

Untuk mencari image Docker, Ubuntu, misalnya, jalankan perintah berikut:

docker search ubuntu

9. Setelah Anda memutuskan gambar apa yang ingin Anda jalankan berdasarkan kebutuhan Anda, unduh secara lokal dengan menjalankan perintah di bawah ini (dalam hal ini gambar Ubuntu diunduh dan digunakan ):

docker pull ubuntu

10. Untuk mencantumkan semua image Docker yang tersedia di host Anda, jalankan perintah berikut:

docker images

11. Jika Anda tidak memerlukan image Docker lagi dan ingin menghapusnya dari host, jalankan perintah berikut:

docker rmi ubuntu

Langkah 3: Jalankan Kontainer Docker

Saat Anda menjalankan perintah terhadap suatu gambar, pada dasarnya Anda mendapatkan sebuah wadah. Setelah perintah yang dijalankan ke dalam container berakhir, container tersebut berhenti (Anda mendapatkan container yang tidak berjalan atau keluar). Jika Anda menjalankan perintah lain ke dalam gambar yang sama lagi, wadah baru akan dibuat dan seterusnya.

Semua container yang dibuat akan tetap berada di sistem file host sampai Anda memilih untuk menghapusnya dengan menggunakan perintah docker rm.

12. Untuk membuat dan menjalankan container, Anda perlu menjalankan perintah pada gambar yang diunduh, dalam hal ini, Ubuntu, jadi perintah dasarnya adalah menampilkan file versi distribusi di dalam wadah menggunakan perintah cat, seperti pada contoh berikut:

docker run ubuntu cat /etc/issue

Perintah di atas dibagi sebagai berikut:

docker run [local image] [command to run into container]

13. Untuk menjalankan kembali salah satu container dengan perintah yang dijalankan untuk membuatnya, pertama-tama, Anda harus mendapatkan ID container (atau nama yang dibuat secara otomatis oleh Docker) dengan mengeluarkan perintah di bawah ini, yang menampilkan daftar container yang berjalan dan yang dihentikan (tidak berjalan):

docker ps -l 

14. Setelah ID kontainer diperoleh, Anda dapat memulai kembali kontainer dengan perintah yang digunakan untuk membuatnya, dengan mengeluarkan perintah berikut:

docker start 923a720da57f

Di sini, string 923a720da57f mewakili ID penampung.

15. Jika kontainer dalam keadaan berjalan, Anda bisa mendapatkan ID dengan mengeluarkan perintah docker ps. Untuk menghentikan kontainer yang sedang berjalan, keluarkan perintah docker stop dengan menentukan ID kontainer atau nama yang dibuat secara otomatis.

docker stop 923a720da57f
OR
docker stop cool_lalande
docker ps

16. Alternatif yang lebih elegan sehingga Anda tidak perlu mengingat ID penampung adalah dengan mengalokasikan nama unik untuk setiap penampung yang Anda buat dengan menggunakan - opsi -name pada baris perintah, seperti pada contoh berikut:

docker run --name ubuntu20.04 ubuntu cat /etc/issue

17. Kemudian, dengan menggunakan nama yang Anda alokasikan untuk penampung tersebut, Anda dapat memanipulasi penampung (mulai, berhenti, hapus, top, stats) selanjutnya hanya dengan menyebutkan namanya, seperti pada contoh di bawah ini:

docker start ubuntu20.04
docker stats ubuntu20.04
docker top ubuntu20.04 

Perlu diketahui bahwa beberapa perintah di atas mungkin tidak menampilkan output jika proses perintah yang digunakan untuk membuat container selesai. Ketika proses yang berjalan di dalam container selesai, container tersebut berhenti.

Langkah 4: Jalankan Sesi Interaktif ke dalam Kontainer

18. Untuk terhubung secara interaktif ke sesi shell container, dan menjalankan perintah seperti yang Anda lakukan pada sesi Linux lainnya, jalankan perintah berikut:

docker run -it ubuntu bash

Perintah di atas dibagi sebagai berikut:

  1. -i digunakan untuk memulai sesi interaktif.
  2. -t mengalokasikan TTY dan melampirkan stdin dan stdout.
  3. ubuntu adalah gambar yang kita gunakan untuk membuat container.
  4. bash (atau /bin/bash) adalah perintah yang kita jalankan di dalam container Ubuntu.

19. Untuk keluar dan kembali ke host dari sesi container yang sedang berjalan, Anda harus mengetikkan perintah exit. Perintah exit menghentikan semua proses container dan menghentikannya.

exit

20. Jika Anda masuk secara interaktif ke perintah terminal kontainer dan Anda ingin menjaga kontainer tetap dalam keadaan berjalan namun keluar dari sesi interaktif, Anda dapat keluar< konsol dan kembali ke terminal host dengan menekan tombol Ctrl+p dan Ctrl+q.

21. Untuk menyambung kembali ke penampung yang sedang berjalan, Anda memerlukan ID atau nama penampung. Keluarkan perintah docker ps untuk mendapatkan ID atau nama dan, kemudian, jalankan perintah docker lampirkan dengan menentukan container ID atau nama, seperti yang diilustrasikan pada gambar di atas:

docker attach <container id>

22. Untuk menghentikan container yang sedang berjalan dari sesi host, berikan perintah berikut:

docker kill <container id>

Itu saja untuk manipulasi kontainer dasar. Pada tutorial selanjutnya kita akan membahas cara menyimpan, menghapus, dan menjalankan web server ke dalam container Docker.