Pengantar
Docker adalah salah satu teknologi containerization yang sangat populer di kalangan DevOps saat ini. Dengan Docker kamu akan dimudahkan dalam mengembangkan aplikasi kamu. Sedangkan Docker Compose merupakan tool untuk membuat dan menjalankan beberapa Docker container bersamaan dengan lebih mudah. Dengan Docker Compose, kamu hanya perlu mendefinisikan resource apa saja yang kamu butuhkan di dalam sebuah file.
Prasyarat
- VPS Centos 7
- Non root user dengan hak akses sudo
- Sudah terinstall Docker
Langkah 1, Menginstall Docker Compose
Download Docker Compose dari repository resmi dengan command berikut :
sudo curl -L “https://github.com/docker/compose/releases/download/1.23.2/docker-compose-$(uname -s)-$(uname -m)” -o /usr/local/bin/docker-compose
Lalu beri permission pada file binary tersebut supaya bisa dijalankan :
sudo chmod +x /usr/local/bin/docker-compose
Untuk memastikan apakah instalasi berhasil, jalankan command berikut :
docker-compose –version
Jika proses instalasi berhasil, maka hasilnya akan seperti ini :
Langkah 2, Menjalankan Container dengan Docker Compose
Pertama, buat sebuah folder khusus untuk file Docker Compose :
mkdir hello-world
Pindah ke folder tersebut :
cd hello-world
Sekarang buat sebuah file YAML dengan text editor kamu. Contoh di sini akan menggunakan vi :
vi docker-compose.yml
Tekan tombol i dan masukkan baris berikut :
my-test: image: hello-world
Baris pertama merupakan nama dari container yang akan dibuat. Sedangkan baris kedua mendefinisikan Docker image apa yang akan digunakan.
Setelah itu tekan tombol ESC untuk masuk ke command mode vi. Lalu ketikkan :wq untuk keluar dan menyimpan file tersebut.
Untuk menjalankan container dengan Docker compose jalankan command :
sudo docker-compose upJika berhasil, hasilnya akan seperti ini :
Nah, sampai di sini kamu sudah berhasil membuat Docker Container dengan image hello-world menggunakan Docker Compose sob. Container ini berhenti ketika sudah berhasil menampilkan pesan tersebut.
Jika dicek maka tidak akan ada container yang sedang berjalan :
sudo docker ps
Hasilnya :
Tetapi jika dicek baik yang sedang aktif atau tidak, maka container tersebut akan muncul :
sudo docker ps -a
Hasilnya :
Langkah 3, Mengenal Perintah pada Docker Compose
Docker compose ini bekerja dalam group. Jika kamu ingin membuat group dari kumpulan container yang berbeda, kamu bisa membuat sebuah folder baru dengan file docker-compose.yml di dalamnya. Ada beberapa perintah dasar Docker compose yang perlu kamu ketahui, yaitu sebagai berikut :
Menjalankan proses Docker compose di background :
sudo docker-compose up -d
Melihat Docker container dalam group (baik yang sedang berhenti maupun sedang berjalan) :
sudo docker-compose ps
Menghentikan Docker container dalam group :
sudo docker-compose stop
Menghapus Docker container dalam group :
sudo docker-compose rm
Perlu kamu ketahui untuk menjalankan command di atas, kamu harus masuk ke dalam folder project kamu yang di dalamnya terdapat file docker-compose.yml. Jika tidak maka akan muncul error seperti ini :
Langkah 4, Mengakses Filesystem pada Docker Container
Untuk mengakses command prompt di dalam sebuah container yang sudah kamu buat, kamu bisa memanfaatkan command docker exec.
Container “Hello World” yang sudah kamu buat tadi akan otomatis keluar ketika selesai menjalankan tugasnya. Untuk itu di sini, kamu akan menggunakan Docker image nginx.
Keluar dari folder project kamu dan buat sebuah folder baru untuk container nginx :
mkdir ~/nginx cd ~/nginx
Setelah itu buat file docker-compose.yml :
vi docker-compose.yml
Tekan tombol i dan tambahkan baris berikut :
nginx: image: nginx
Tekan ESC lalu ketik :wq untuk keluar. Lalu jalankan Docker menggunakan Docker compose sebagai background process :
sudo docker-compose up -d
Lalu jalankan :
sudo docker ps
Hasilnya :
Salin CONTAINER ID dan jalankan docker exec :
docker exec -it 8dea123b86c8 /bin/bash
Jika berhasil akan seperti ini :
Sekarang kamu bisa menjalankan command di dalam container tersebut.
Penutup
Nah, sekarang kamu sudah kenal dengan Docker compose sob. Sampai di sini kamu sudah mempelajari beberapa perintah dasar Docker compose yang nantinya akan sering kamu gunakan jika kamu memutuskan menggunakan Docker compose. Sekian, semoga bermanfaat!