Docker adalah seperangkat platform terbuka yang menyediakan virtualisasi tingkat OS untuk mengembangkan, mengirim, dan menjalankan aplikasi. Di Docker, aplikasi dikirimkan sebagai paket unit standar yang disebut kontainer. Setiap container diisolasi satu sama lain, termasuk library dan file konfigurasi, tetapi masing-masing container dapat berkomunikasi melalui saluran jaringan yang terdefinisi dengan baik.
Adapun saat ini, Docker telah menjadi standar untuk pengembangan perangkat lunak dan DevOps. Ini digunakan oleh jutaan pengembang untuk membangun, berbagi, dan menjalankan aplikasi apa pun setiap hari di tempat kerja. Ini digunakan dalam siklus hidup pengembangan aplikasi, mulai dari pengembangan itu sendiri, pengujian, dan produksi. Dengan Docker, aplikasi menjadi lebih fleksibel dan portabel. Aplikasi dapat dijalankan di mana saja dalam sistem operasi yang berbeda dengan cara yang mudah, tetapi aplikasi itu sendiri, tetap sama mulai dari pustaka hingga file konfigurasi.
Dalam tutorial ini, Anda akan belajar cara menginstal Docker di Debian 11 Bullseye. Selain itu, Anda akan mempelajari penggunaan dasar Docker untuk menjalankan container dan mengelola gambar.
Prasyarat
- Server Debian 11. Pastikan semua paket diperbarui ke versi terbaru.
- Pengguna root atau pengguna dengan hak akses root. Pengguna ini akan digunakan untuk menginstal paket baru dan mengedit konfigurasi sistem.
Instal Dependensi
Pertama, Anda akan menginstal beberapa dependensi paket dasar ke sistem Debian Anda.
1. Jalankan perintah apt di bawah ini untuk menginstal dependensi paket baru.
apt install \
apt-transport-https \
ca-certificates \
curl \
gnupg \
lsb-release
Ketik 'y ' dan tekan 'Enter ' untuk menginstal semua paket tersebut.
Menambahkan Repositori Docker
Untuk panduan ini, Anda akan menginstal Docker dari repositori resmi Docker. Jadi, Anda akan menambahkan repositori Docker baru ke sistem Debian Anda.
1. Jalankan perintah berikut untuk menambahkan kunci GPG untuk Docker.
curl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
2. Setelah itu, tambahkan repositori Docker untuk sistem Debian 11 menggunakan perintah di bawah ini.
echo \
"deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/debian \
$(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
3. Sekarang jalankan 'apt update ' perintah untuk memperbarui/menyegarkan semua repositori yang tersedia.
apt update
Sekarang Anda siap untuk menginstal Docker ke Debian 11 Bullseye.
Menginstal Docker di Debian 11
1. Jika sistem Anda telah menginstal Docker dari repositori Debian sebelumnya, Anda harus menghapusnya menggunakan perintah di bawah ini.
sudo apt remove docker docker-engine docker.io containerd runc
2. Setelah itu, Anda dapat menginstal kembali Docker menggunakan perintah apt di bawah ini.
apt install docker-ce docker-ce-cli containerd.io
Ketik 'y ' dan tekan 'Enter ' untuk mengonfirmasi pemasangan.
3. Jika penginstalan selesai, jalankan perintah berikut untuk memverifikasi penginstalan.
Periksa apakah layanan diaktifkan atau tidak.
systemctl is-enabled docker
systemctl is-enabled containerd
Periksa status layanan Docker dan Containerd.
systemctl status docker containerd
Di bawah ini adalah output serupa yang akan Anda dapatkan.
Seperti yang terlihat, layanan Docker dan Containerd aktif (berjalan) , dan kedua layanan diaktifkan dan akan berjalan secara otomatis saat startup sistem.
Izinkan pengguna non-root ke Docker
Secara default, Docker hanya mengizinkan pengguna 'root ' untuk menjalankan kontainer. Dan agar pengguna non-root dapat menjalankan container, Anda harus menambahkan pengguna non-root Anda ke grup 'docker ', yang secara otomatis dibuat selama instalasi Docker.
1. Untuk contoh ini, Anda akan menggunakan pengguna 'johndoe ' untuk menjalankan wadah Docker.
Buat pengguna baru 'johndoe' di sistem Debian Anda menggunakan perintah berikut.
useradd -m -s /bin/bash johndoe
2. Setelah itu, jalankan perintah berikut untuk menambahkan pengguna 'johndoe ' ke grup 'buruh pelabuhan '.
usermod -aG docker johndoe
3. Sekarang masuk sebagai pengguna 'johndoe ' menggunakan perintah di bawah ini dan verifikasi konfigurasi.
su - johndoe
Jalankan perintah buruh pelabuhan berikut untuk memverifikasi instalasi Anda.
docker run hello-world
Dan Anda akan melihat 'Hello Docker ' pesan di bawah.
Di bawah ini adalah penjelasan sederhana dari perintah docker yang Anda jalankan di atas.
- Docker akan mencoba mencari nama image 'hello-world'. Jika image tersedia secara lokal, docker akan menjalankan container, jika image tidak tersedia secara lokal, Docker akan menemukan dan mendownload image 'hello-world' di Docker-hub (repositori image docker default).
- Jika image buruh pelabuhan diunduh, buruh pelabuhan akan menjalankan container. Dan container menjalankan perintah dan menunjukkan kepada Anda pesan 'Hello Docker'.
4. Sekarang periksa wadah buruh pelabuhan menggunakan perintah buruh pelabuhan di bawah ini.
Memeriksa penampung dengan status 'berjalan '.
docker ps
Memeriksa semua kontainer - akan menampilkan kepada Anda semua kontainer, kontainer yang sedang berjalan dan yang dihentikan.
docker ps -a
Di bawah ini adalah output yang serupa seperti di bawah ini.
Seperti yang Anda lihat, nama penampung baru 'bold_bartix ' dibuat dengan gambar dasar 'hello-world ', dan status penampung saat ini adalah 'Keluar ' atau berhenti. Nama penampung 'bold_bartix' di tangkapan layar dipilih secara acak oleh Docker, tetapi Anda dapat menentukan nama penampung Anda.
Penggunaan Dasar Docker
Untuk tahap ini, Anda akan mempelajari penggunaan Docker yang sangat mendasar untuk mengelola image dan container.
1. Pertama, unduh image Docker ke komputer lokal Anda menggunakan perintah berikut.
docker pull nginx:alpine
Perintah akan mengunduh nama gambar Docker 'nginx ' dan beri tag 'alpine ' ke sistem Anda.
Istilah 'tag ' seperti versi gambar itu sendiri. 'nginx:alpine ' berarti 'nginx ' gambar dengan tag 'alpine ', yang berarti berdasarkan sistem operasi Alpine Linux. Selalu periksa semua tag image Docker yang tersedia di repositori resmi Docker-Hub.
Di bawah ini adalah contoh dari semua tag yang tersedia untuk gambar Docker 'nginx '.
Untuk memeriksa semua image buruh pelabuhan yang tersedia di sistem lokal Anda, jalankan perintah buruh pelabuhan berikut.
docker images
Anda akan melihat output serupa seperti di bawah ini.
Seperti yang terlihat, Anda memiliki dua gambar Docker, nginx:alpine dan halo-dunia .
2. Selanjutnya, jalankan perintah berikut untuk menjalankan container.
docker run -it --rm -d -p 8080:80 --name web nginx:alpine
Sekarang Anda akan mendapatkan string acak dan nomor wadah baru.
Opsi yang harus Anda ketahui:
- -i atau --interactive - biarkan wadah STDIN tetap terbuka meskipun tidak terpasang.
- -t atau --tty - mengalokasikan terminal semu yang menghubungkan terminal Anda dengan STDIN dan STDOUT container.
- --rm - secara otomatis menghapus wadah saat wadah keluar atau dihentikan.
- -d - menjalankan container di latar belakang, lepaskan container setelah dijalankan.
- -p 8080:80 - memetakan port antara container dan sistem host. Port '80 ' di wadah dipetakan ke sistem host port '8080 '.
- --nama web - tentukan nama penampung baru sebagai 'web '.
- nginx:alpine - gambar Docker yang kami gunakan adalah 'nginx:alpine '.
Sekarang periksa container yang sedang berjalan menggunakan perintah di bawah ini.
docker ps
Anda akan melihat hasil yang serupa seperti di bawah ini.
Untuk memverifikasi wadah Nginx Anda, buka browser web Anda dan ketik alamat IP server Anda dengan port '8080 '.
http://192.168.1.10:8080/
Dan Anda akan melihat halaman indeks Nginx dari wadah 'web ' seperti di bawah ini.
3. Selanjutnya, Anda dapat memeriksa log container dengan menjalankan perintah docker berikut.
docker logs web
Dan Anda akan melihat semua log penampung Anda, dari awal hingga akhir.
Untuk membatasi keluaran log, Anda dapat menggunakan '--tail n ' seperti di bawah ini.
docker logs --tail 10 web
Dan Anda akan melihat 10 baris terakhir dari log kontainer.
4. Sekarang untuk menghentikan container Docker, Anda dapat menggunakan perintah Docker di bawah ini.
docker stop web
Setelah itu, verifikasi container yang sedang berjalan menggunakan perintah berikut.
docker ps
docker ps -a
Anda akan melihat output berikut seperti di bawah ini.
'Web ' wadah dihentikan dan secara otomatis dihapus. Itu karena Anda menggunakan opsi '--rm ' saat menjalankan penampung.
5. Selanjutnya, Anda akan belajar menjalankan container dengan custom volume. Direktori pada mesin host akan digunakan sebagai volume untuk container Docker.
Buat 'data . baru ' direktori dan 'index.html custom khusus ' menggunakan perintah berikut.
mkdir -p ~/data/
nano ~/data/index.html
Salin dan tempel 'index.html custom khusus ' skrip seperti di bawah ini.
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Welcome to Docker Nginx</title>
</head>
<body>
<h2>Hello from Nginx container</h2>
</body>
</html>
Simpan konfigurasi dengan menekan 'Ctrl+x tombol ', ketik 'y ', lalu tekan 'Enter '.
Selanjutnya, buat wadah baru menggunakan perintah buruh pelabuhan di bawah ini.
docker run -it --rm -d -p 8080:80 --name web -v ~/data:/usr/share/nginx/html nginx:alpine
Sekarang Anda akan mendapatkan nomor acak dan string wadah.
Opsi '-v ~/data:/usr/share/nginx/html ' akan memasang '~/data ' di mesin lokal ke wadah di '/usr/share/nginx/html ' direktori.
Sekarang verifikasi wadah Docker menggunakan perintah berikut.
docker ps
Dan Anda akan melihat output serupa seperti di bawah ini.
Selanjutnya, buka kembali web browser Anda dan ketik alamat IP server berikut dengan port '8080 ' seperti di bawah ini.
http://192.168.1.10:8080/
Dan Anda akan mendapatkan 'index.html' khusus yang baru saja Anda buat di atas, yang berarti '~/data ' direktori dipasang ke wadah '/usr/share/nginx/html ' direktori.
6. Selain itu, Anda dapat masuk ke wadah yang sedang berjalan 'web ' dengan menjalankan perintah buruh pelabuhan di bawah ini.
Pertama, periksa wadah 'web ' sedang berjalan.
docker ps
Sekarang lampirkan ke wadah 'web' menggunakan perintah di bawah ini.
docker exec -it web /bin/sh
Di dalam container, periksa nama host container menggunakan perintah berikut.
hostname
Periksa alamat IP penampung menggunakan 'ip ' perintah di bawah.
ip a
Periksa tabel perutean container menggunakan perintah berikut.
route -n
Di bawah ini adalah output serupa yang akan Anda dapatkan.
Untuk membersihkan lingkungan Anda saat ini, hentikan 'web ' kontainer menggunakan perintah berikut.
docker stop web
Anda juga dapat menghapus semua penampung dengan status 'keluar ' menggunakan perintah di bawah ini.
docker rm $(docker ps --filter "status=exited" -q)
Kesimpulan
Selamat! Anda telah berhasil menginstal Docker di Debian 11 Bullseye. Selain itu, Anda telah mempelajari penggunaan dasar Docker untuk menarik gambar dari Docker-Hub, menjalankan wadah buruh pelabuhan, memeriksa status wadah buruh pelabuhan, log, dan penggunaan dasar volume Docker. Untuk langkah selanjutnya, Anda dapat mencoba membuat image Docker kustom untuk aplikasi Anda dengan memasukkannya ke repositori Docker Hub.