Docker adalah aplikasi untuk menyatukan berbagai file software dan pendukungnya dalam sebuah wadah (container) agar memudahkan proses pengembangan software.
Docker adalah solusi untuk mempermudah pengembangan aplikasi. Dengan Docker container, memiliki tempat untuk menguji aplikasi di berbagai perangkat. Tidak hanya itu, akan menghemat resource server karena Docker container memiliki ukuran yang kecil.
Dalam pengembangan aplikasi, developer memerlukan virtualisasi di server agar aplikasi bisa berjalan di berbagai platform dengan konfigurasi hardware yang berbeda-beda.
Ketika menggunakan virtualisasi, yang harus disiapkan satu sistem operasi secara penuh. Jika membutuhkan beberapa virtualisasi, server perlu resource yang besar.
Container digunakan sebagai alternatif virtualisasi sehingga tidak perlu menyiapkan sistem operasi secara penuh. Dengan container, ukuran file menjadi lebih kecil dibandingkan virtualisasi yang biasa digunakan.
Fungsi Docker
Berikut fungsi Docker adalah antara:
- Mempermudah Pengembangan AplikasiDocker bisa mempermudah pekerjaan developer ketika mengembangkan aplikasi. Docker lebih hemat resource dan mampu menyediakan environment yang stabil untuk dijalankan di perangkat apapun.
- Menyederhanakan KonfigurasiDocker tidak memiliki overhead sehingga developer bisa menjalankan aplikasi yang diuji tanpa konfigurasi tambahan.
- Memudahkan Pengembangan Kode PipelineDeveloper bisa memanfaatkan Docker container sebagai tempat pengujian kode Pipeline beserta tools yang diperlukan dengan lebih mudah.
- Bisa Digunakan untuk DebuggingAdanya fitur debug bisa membantu developer untuk mengatasi masalah pada aplikasi tanpa perlu bersusah payah meninggalkan environment di Docker.
- Mendukung MultitenancyDocker cocok digunakan untuk membuat aplikasi berstruktur multitenance seperti Software as a Service (SaaS). disini bisa membuat lebih dari satu environment yang terisolasi dan menjalankan objek aplikasi untuk setiap tenant.
- Meningkatkan Sumber Daya dengan CepatDengan Docker, peningkatan sumber daya perangkat dapat dilakukan dengan cepat sehingga durasi pengembangan software lebih singkat.
Istilah-Istilah dalam Docker
Dalam penggunaan Docker, inilah beberapa istilah yang perlu dipahami:
- Docker image. Kumpulan file yang menunjang sebuah aplikasi.
- Docker container. Tempat untuk mengemas dan menjalankan aplikasi. Wadah ini mencakup kode, runtime, system tools, dan pengaturan. Container hanya bisa mengakses resource yang telah ditentukan dalam Docker image.
- Docker client. Tempat di mana pengguna dapat mengirimkan perintah seperti Docker build, Docker pull, dan Docker run kepada Docker daemon.
- Docker Engine Rest API. Komponen yang digunakan untuk berinteraksi dengan Docker daemon. Komponen ini bisa diakses klien melalui HTTP.
- Docker daemon. Proses pengelolaan Docker images, container, network, dan storage volumes. Docker daemon menerima request dari Docker API dan akan memprosesnya.
- Docker host. Komponen yang menyediakan lingkungan untuk menjalankan aplikasi. Docker host bertanggung jawab menerima perintah yang diberikan Docker client.
- Docker registry. Tempat untuk menyimpan Docker image. Docker image akan memberi reaksi sesuai perintah yang diberikan. Misalnya, saat diberi perintah docker push, docker image akan didorong atau dibagikan ke registry Docker Hub.
- Docker Hub. Layanan yang disediakan untuk menemukan dan berbagi Docker image.
Install Docker di Ubuntu
Untuk menginstal Docker Linux Server di sistem operasi Ubuntu, adapun langkah-langkah berikut ini:
1. Login ke Server Melalui SSH Client
Gunakan PuTTY untuk mengakses server dari client, Jika belum ada, download PuTTY melalui link putty.org
Terminal SSH akan muncul di layar Anda. Lalu, login dengan root username dan password.
2. Update Sistem
Update sistem terlebih dahulu untuk memastikan keamanannya dengan menjalankan perintah berikut di terminal SSH:
sudo apt update
3. Install Package yang Dibutuhkan
Ada beberapa package yang dibutuhkan dalam instalasi Docker. Jalankan perintah di bawah ini untuk download package-package tersebut:
sudo apt-get install curl apt-transport-https ca-certificates software-properties-common
4. Tambahkan Repositori Docker
Berikut ini adalah beberapa perintah yang harus dijalankan untuk menambahkan repositori Docker:
- Tambahkan GPG key:
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
- Tambahkan repositori Docker:
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
- Lakukan update package database:
sudo apt update
- Pastikan menginstal dari repositori Docker, bukan repositori Ubuntu:
apt-cache policy docker-ce
Setelah menjalankan perintah diatas, pesan seperti di bawah ini akan muncul:
docker-ce:
Installed: (none)
Candidate: 16.04.1~ce~4-0~ubuntu
Version table:
16.04.1~ce~4-0~ubuntu 500
500 https://download.docker.com/linux/ubuntubionic/stableamd64packages
5. Install Docker
Install Docker dengan menjalankan perintah di bawah ini:
sudo apt install docker-ce
6. Cek Instalasi Docker
Pastikan bahwa instalasi Docker berhasil, jalankan perintah berikut ini:
sudo systemctl status docker
Hasilnya adalah loaded dengan status Active (running).
Cara Install Docker di CentOS
Menginstal Docker di CentOS, dengan langkah-langkah berikut ini:
1. Login ke Server Melalui SSH Client
Untuk menginstal Docker, buka Puuty, lalu login ke server melalui SSH client.
2. Install Package yang Dibutuhkan
Sebelum bisa menginstal Docker di CentOS, perlu menginstal package-package yang dibutuhkan. Jalankan perintah di bawah ini untuk melakukannya:
yum install -y yum-utils device-mapper-persistent-data lvm2
3. Tambahkan Repositori Docker
Tambahkan repositori Docker ke sistem agar bisa melakukan instalasi. Jalankan perintah di bawah ini:
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
4. Install Docker
Instalasi Docker di CentOS dengan perintah berikut:
yum install docker-ce
5. Aktifkan Docker
Docker di CentOS tidak otomatis berjalan setelah diinstal. Untuk mengaktifkannya, jalankan dua baris perintah berikut:
systemctl enable docker
systemctl start docker
6. Cek Status Docker
Untuk memastikan bahwa Docker sudah aktif, jalankan perintah di bawah ini:
systemctl status docker
Membuat Docker Container
Buat Docker container dengan langkah-langkah berikut ini:
1. Login Melalui SSH Client
Untuk membuat Docker container, harus melakukannya melalui SSH client. Login ke SSH client.
2. Tampilkan Daftar Image
Setelah login, pilih image yang ada di server. Jalankan perintah berikut ini untuk menampilkan daftar image :
sudo docker images
Gunakan perintah ini, untuk menampilkan informasi masing-masing image
sudo docker images --help
3. Download Image dari Docker Hub
Apabila belum memiliki image di server, download image dari Docker Hub. Docker Hub adalah tempat di mana developer bisa saling berbagi Docker image.
Unduh image dari Docker Hub langsung dari SSH client. Download image Ubuntu, di SSH client, jalankan perintah di bawah ini:
docker search ubuntu
Kemudian, download image tersebut dengan perintah berikut:
docker pull ubuntu
4. Buat dan Aktifkan Docker Container
Dengan adanya image, maka siap membuat Docker container. Pertama-tama, buat container dari image yang baru saja di-download dengan perintah di bawah ini:
docker run ubuntu
Meski Docker container sudah dibuat, harus diaktifkan agar bisa berfungsi. Jalankan perintah berikut ini:
docker run -it ubuntu bash
Saat mengaktifkan Docker container, bisa menamainya dengan perintah –name. Sebagai contoh, mari namai container tadi dengan nama MyContainer. Perintahnya seperti berikut:
docker run --name MyContainer -it ubuntu bash
Nama container tersebut akan digunakan dalam contoh-contoh pengelolaan container di bagian selanjutnya.
Mengelola Docker Container
Pada tahap diatas sudah membuat, menamai, dan menjalankan Docker container. Sekarang untuk mengelola container tersebut, jalankan perintah-perintah sebagai berikut .
- Menampilkan daftar Docker container
sudo docker ps -a
- Menghentikan Docker container
sudo docker stop MyContainer
- Kill Docker container
sudo docker kill MyContainer
- Melihat status Docker container
docker stats
- Menghapus Docker container
docker rm MyContainer