Docker

Apa itu Docker?

Docker adalah open platform untuk mengembangkan, mengirimkan, dan menjalankan aplikasi (ekosistem untuk build, deploy, run, dan me-manage container). Docker memudahkan Anda untuk memisahkan aplikasi dengan infrastruktur sehingga dapat mempercepat proses deliver aplikasi. Docker merupakan container manager yang populer saat ini yang digunakan di seluruh dunia.

Docker mempermudah instalasi dan menjalankan software tanpa memikirkan setup dan dependency, jadi tidak ada lagi masalah terkait dependency library yang terjadi akibat perbedaan sistem oprasi atau mesin yang digunakan antar developer atau engineer yang ada di dalam tim.

Benefit utama docker adalah mempermudah untuk membungkus application beserta dependency-nya ke dalam sebuah standar unit untuk software development.

Dengan Docker, Anda dapat mengelola infrastruktur dengan cara yang sama seperti mengelola aplikasi. Dengan memanfaatkan metodologi Docker untuk mengirim, menguji, dan men-deploy kode, Anda dapat secara signifikan mengurangi penundaan antara menulis kode dan menjalankannya dalam produksi.

Informasi lebih lanjut terkait Docker dapat dilihat di sini.

Dockerfile

Docker dapat membuat image secara otomatis dengan membaca instruksi yang ada pada Dockerfile. Dockerfile adalah dokumen teks yang berisi sebuah perintah untuk membangun sebuah image. Dengan menggunakan perintah docker build pengguna dapat mengeksekusi beberapa instruksi baris perintah secara berurutan.

Informasi lebih lanjut terkait Dockerfile dapat dilihat di sini.

Docker Compose

Docker Compose adalah alat untuk mendefinisikan dan menjalankan satu atau beberapa container yang saling terkait dengan sebuah perintah tertentu. Pada implementasinya kita dapat menggunakannya dengan membuat sebuah file dengan format YAML, yang di dalamnya terdapat konfigurasi-konfigurasi terhadap service aplikasi yang akan dijalankan. Gambaran sederhananya seperti menyatukan semua Dockerfile dari setiap service aplikasi ke dalam sebuah file konfigurasi (docker-compose.yml), dan selanjutnya dengan sebuah perintah tertentu, kita bisa membuat dan menjalankan semua service yang telah didefinisikan pada file konfigurasi tersebut. Pembuatan konfigurasinya juga sangat mudah dan mirip dengan argumen-argumen saat kita ingin menjalankan sebuah Dockerfile. Kita bisa menggunakannya disemua environment : production atau staging. Berikut ini proses dasar penggunaan Docker Compose :

  1. Mendefinisikan environment aplikasi dengan membuat Dockerfile sehingga bisa digunakan kembali dimana saja.

  2. Mendefinisikan service lainnya (termasuk aplikasi kita) di dalam docker-compose.yml sehingga semuanya bisa berjalan bersamaan dalam environment yang terisolasi.

  3. Jalankan perintah Docker Compose yaitu : docker compose build dan docker compose up melalui command prompt/shell (pastikan anda berada pada path yang sama dengan posisi file docker-compose.yml).

Informasi lebih lanjut terkait Docker Compose dapat dilihat di sini.

Instalasi Docker

Anda dapat mengunduh dan menginstal Docker di berbagai platform. Berikut ini langkah-langkah instalasi Docker:

  1. Unduh file installer sesuai dengan operating system yang digunakan.

    • Instalasi Docker Desktop untuk Linux dapat dilihat di sini

    • Instalasi Docker Desktop untuk Mac (macOS) dilihat di sini

    • Instalasi Docker Desktop untuk Windows dilihat di sini

  2. Jalankan file installer yang telah diunduh, dan ikuti tahapannya.

  • Informasi lebih lanjut terkait Instalasi Docker dapat dilihat di sini.

  • Sedangkan, informasi terkait Instalasi Docker Engine dapat dilihat di sini.

File docker-compose.yml DICOM Router

  1. Download file docker-compose.yml melalui API [GET] dengan URL (endpoint) yang tersedia:

  2. Autentikasi menggunakan Authorization Bearer Token SATUSEHAT. Informasi terkait Autentikasi/Akses Kode API Production dapat dilihat di sini.

File docker-compose.yml ini bersifat TERBATAS. DILARANG menggunakan, menduplikasi, mempublikasi, dan/atau mendistribusikan dalam bentuk apapun, sebagian/keseluruhan informasi di dalam dokumen ini, secara elektronik maupun mekanik tanpa izin tertulis dari Pusat Data dan Teknologi Informasi - Digital Transformation Office (DTO) Kementrian Kesehatan Republik Indonesia.