Docker adalah teknologi containerisasi yang memungkinkan Anda untuk dengan cepat membangun, menguji, dan menggunakan aplikasi sebagai wadah yang portabel dan mandiri yang dapat berjalan di mana saja.
Docker telah menjadi standar de facto untuk deployment Container dan merupakan alat penting bagi para engineer DevOps serta integrasi dan pipeline pengiriman mereka.
Dalam tutorial ini, kami akan membahas cara memasang Docker pada CentOS 7 dan menjelajahi konsep dan perintah dasar Docker.
Prasyarat
Sebelum melanjutkan dengan tutorial ini, pastikan untuk memiliki :
- Server CentOS 7
- Memiliki user non-root dengan hak
sudo
. Silahkan periksa panduan ini tentang cara membuat user baru sudo.
Instal Docker di CentOS
Meskipun paket Docker tersedia di repositori resmi CentOS 7, namun bisa jadi tidak selalu versi terbaru. Pendekatan yang disarankan adalah menginstal Docker adalah dari repositori Docker.
Untuk menginstal Docker di server CentOS 7, ikuti langkah-langkah di bawah ini:
- Perbarui paket yang diinstal ke versi terbaru:
sudo yum update sudo yum upgrade
- instal dependensi yang diperlukan :
sudo yum install yum-utils device-mapper-persistent-data lvm2
- Selanjutnya, jalankan perintah berikut yang akan menambahkan repositori stabil Docker ke sistem Anda:
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
- Sekarang setelah repositori Docker diaktifkan, instal versi terbaru Docker CE (Community Edition) dengan:
sudo yum install docker-ce
- Ketika instalasi selesai, jalankan Docker dan aktifkan saat boot dengan perintah :
sudo systemctl start docker sudo systemctl enable docker
- Anda dapat memverifikasinya layanan Docker telah berjalan, gunakan perintah :
sudo systemctl status docker
Outputnya akan terlihat seperti ini:
● docker.service - Docker Application Container Engine Loaded: loaded (/usr/lib/systemd/system/docker.service; enabled; vendor preset: disabled) Active: active (running) since Wed 2018-10-31 0820 UTC; 7s ago Docs: https://docs.docker.com Main PID: 2492 (dockerd) CGroup: /system.slice/docker.service ├─2492 /usr/bin/dockerd └─2498 docker-containerd --config /var/run/docker/containerd/containerd.toml
- Pada saat penulisan, versi terbaru Docker yang tersedia untuk CentOS 7 adalah
18.06.1
. Periksa versi Docker dengan mengetik:docker -v Docker version 18.06.1-ce, build e68fc7a
Menjalankan Perintah Docker Tanpa Sudo
Secara default mengelola, Docker membutuhkan hak administrator. Jika Anda ingin menjalankan perintah Docker sebagai user non-root tanpa sudo
, Anda perlu menambahkan user Anda ke grup docker yang dibuat selama instalasi paket Docker CE. Anda dapat melakukannya dengan menjalankan perintah berikut:
sudo usermod -aG docker $USER
$USER
adalah variabel lingkungan yang menampung nama user Anda.
Logout dan log in kembali sehingga keanggotaan grup di-refresh.
Untuk memverifikasi bahwa Docker telah berhasil diinstal dan bahwa Anda dapat menjalankan perintah docker tanpa sudo
, ketikkan perintah berikut yang akan mengunduh image testing, jalankan dalam container, cetak pesan “Hello from Docker” dan keluar:
docker container run hello-world
Outputnya akan terlihat seperti berikut:
Unable to find image 'hello-world:latest' locally latest: Pulling from library/hello-world 9bb5a5d4561a: Pull complete Digest: sha256:f5233545e43561214ca4891fd1157e1c3c563316ed8e237750d59bde73361e77 Status: Downloaded newer image for hello-world:latest Hello from Docker! This message shows that your installation appears to be working correctly.
Docker command line interface
Perintah Docker CLI mengambil bentuk ini:
docker [option] [subcommand] [arguments]
Untuk membuat daftar semua perintah yang tersedia jalankan docker tanpa parameter:
docker
Jika Anda memerlukan bantuan lebih lanjut pada [subcommand
] apa pun, Anda dapat menggunakan --help
seperti yang ditunjukkan di bawah ini:
docker [subcommand] --help
Pengertian Docker Images
Docker Images terdiri dari serangkaian lapisan sistem file yang mewakili instruksi dalam Dockerfile yang membentuk aplikasi perangkat lunak yang dapat dieksekusi. Image adalah file biner yang tidak dapat diubah termasuk aplikasi dan semua dependensi lainnya seperti libraries, binaries, dan instruksi yang diperlukan untuk menjalankan aplikasi.
Anda dapat menganggap Docker Images sebagai snapshot dari container Docker.
Sebagian besar Docker Images tersedia di Docker Hub. Docker Hub adalah layanan registri berbasis cloud yang di antara fungsi lainnya digunakan untuk menyimpan Docker Images baik dalam repositori publik atau pribadi.
Cara Mencari Docker Image
Untuk mencari image dari registri Docker Hub cukup gunakan perintah search
.
Misalnya, untuk mencari image CentOS, gunakan perintah berikut:
docker search centos
Outputnya akan terlihat seperti ini:
NAME DESCRIPTION STARS OFFICIAL AUTOMATED centos The official build of CentOS. 4257 [OK] ansible/centos7-ansible Ansible on Centos7 109 [OK] jdeathe/centos-ssh CentOS-6 6.9 x86_64 / CentOS-7 7.4.1708 x86_… 94 [OK] consol/centos-xfce-vnc Centos container with "headless" VNC session… 52 [OK] imagine10255/centos6-lnmp-php56 centos6-lnmp-php56 40 [OK] tutum/centos Simple CentOS docker image with SSH access 39
Seperti yang Anda lihat hasil pencarian mencetak tabel dengan lima kolom, NAME
, DESCRIPTION
, STARS
, OFFICIAL
, dan AUTOMATED
.
image resmi adalah image yang dikembangkan Docker bersama dengan mitra.
Sebagian besar images di Docker Hub ditandai dengan nomor versi. Ketika tidak ada tag yang ditentukan, Docker akan “pull” image terbaru.
Download Docker Image
Jika kita ingin mengunduh versi resmi dari image Ubuntu, kita dapat melakukannya dengan menggunakan perintah :
docker image pull centos
Using default tag: latest latest: Pulling from library/centos 469cfcc7a4b3: Pull complete Digest: sha256:989b936d56b1ace20ddf855a301741e52abca38286382cba7f44443210e96d16 Status: Downloaded newer image for centos:latest
Tergantung pada kecepatan Internet Anda, proses download mungkin memakan waktu beberapa detik atau beberapa menit.
Untuk mencantumkan semua jenis image yang telah diunduh:
docker image ls
Outputnya akan terlihat seperti ini:
REPOSITORY TAG IMAGE ID CREATED SIZE hello-world latest e38bc07ac18e 3 weeks ago 1.85kB centos latest e934aafc2206 4 weeks ago 199MB
Hapus Docker Image
Jika karena alasan tertentu Anda ingin menghapus suatu gambar, Anda dapat melakukannya dengan sub perintah perintah rm
dengan nama image yang ingin di hapus.
docker image rm centos
outputnya kurang lebih akan seperti berikut
Untagged: centos:latest Untagged: centos@sha256:989b936d56b1ace20ddf855a301741e52abca38286382cba7f44443210e96d16 Deleted: sha256:e934aafc22064b7322c0250f1e32e5ce93b2d19b356f4537f5864bd102e8531f Deleted: sha256:43e653f84b79ba52711b0f726ff5a7fd1162ae9df4be76ca1de8370b8bbf9bb0
Docker Container
Sebuah instance dari sebuah image disebut container. Container mewakili runtime untuk satu aplikasi, proses, atau layanan.
Ini mungkin bukan perbandingan yang paling tepat tetapi jika Anda seorang programmer, Anda dapat menganggap image Docker sebagai Class dan Docker Container sebagai instance dari suatu class.
Kita dapat memulai, menghentikan, menghapus, dan mengelola sebuah wadah dengan sub-perintah docker container
Start Docker Container
Perintah berikut akan memulai Docker container berdasarkan pada image CentOS. Jika Anda tidak memiliki image secara lokal, maka perintah tersebut akan mengunduhnya terlebih dahulu:
docker container run centos
Sekilas tidak ada yang terjadi sama sekali. Container CentOS akan berhenti segera setelah booting karena perintah tidak memiliki proses yang berjalan lama dan kita tidak memberikan perintah apa pun, sehingga kontainer tersebut boot, menjalankan perintah kosong dan kemudian keluar.
Switch -it
memungkinkan kita untuk berinteraksi dengan container melalui baris perintah. Untuk memulai secara interaktif jalankan perintah berikut :
docker container run -it centos /bin/bash
[root@712ef9304912 /]#
Seperti yang dapat Anda lihat dari output di atas, setelah container dimulai, command prompt berubah yang berarti bahwa Anda sekarang bekerja dari dalam container.
Melihat List Docker Containers
Untuk melihat daftar container yang aktif, ketik:
docker container ls
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 79ab8e16d567 centos "/bin/bash" 22 minutes ago Up 22 minutes ecstatic_ardinghelli
Jika Anda tidak memiliki containers yang sedang berjalan, hasilnya akan kosong.
Untuk melihat containers yang aktif dan tidak aktif, berikan switch -a
:
docker container ls -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 79ab8e16d567 centos "/bin/bash" 22 minutes ago Up 22 minutes ecstatic_ardinghelli c55680af670c centos "/bin/bash" 30 minutes ago Exited (0) 30 minutes ago modest_hawking c6a147d1bc8a hello-world "/hello" 20 hours ago Exited (0) 20 hours ago sleepy_shannon
Hapus Container Docker
Untuk menghapus satu atau lebih kontainer, cukup salin ID container dan paste setelah perintah rm :
docker container rm c55680af670c
Kesimpulan
Anda telah belajar cara menginstal Docker di CentOS 7 dan cara mengunduh image Docker dan mengelola containers Docker. Anda mungkin juga ingin membaca tentang Docker Compose, yang memungkinkan Anda untuk mendefinisikan dan menjalankan aplikasi Docker multi-container.
Tutorial ini tidak mencakup seluruh tutorial Docker. Dalam beberapa artikel kami berikutnya, kami akan terus menyelami aspek-aspek lain dari Docker. Untuk mempelajari lebih lanjut tentang Docker, lihat dokumentasi resmi Docker.