Pengertian Docker
Docker adalah sebuah project open source yang ditujukan untuk developer atau sysadmin untuk membangun, mengemas dan menjalankan aplikasi dimana pun di dalam sebuah container.
Pengertian Container
Secara harfiah kontainer merupakan alat untuk mempermudah mengemas dan mendistribusikan suatu hal dari satu tempat ke tempat lain.
Comparing Containers & VMs (1)


Container VS Virtual Machine

Kelebihan Container
- Flexible: Even the most complex applications can be containerized.
- Lightweight: Containers leverage and share the host kernel.
- Interchangeable: You can deploy updates and upgrades on-the-fly.
- Portable: You can build locally, deploy to the cloud, and run anywhere.
- Scalable: You can increase and automatically distribute container replicas.
- Stackable: You can stack services vertically and on-the-fly.
Arsitektur Docker

Istilah² Docker (1)
Docker daemon berfungsi untuk membangun, mendistribusikan dan menjalankan container docker. User tidak dapat langsung menggunakan docker daemon, akan tetapi untuk menggunakan docker daemon maka user menggunakan docker client (CLI) sebagai perantara.
Istilah² Docker (2)
- Docker Images
Docker images adalah sebuah template yang berisi sebuah OS atau OS yang telah diinstall berbagai aplikasi. Image ini digunakan untuk menjalankan container, dengan hanya menggunakan 1 docker images kita dapat membuat banyak docker container.
- Docker Container
Docker container merupakan sebuah image yang bersifat read-write. Pada setiap perubahan yang disimpan pada container akan menyebabkan terbentuknya layer baru di atas image. Developer dapat melakukan instalasi aplikasi didalamnya dan melakukan penyimpanan.
Docker Registry
- Docker Registries
Docker registries merupakan tempat penyimpanan (public atau private) spt github di mana developer dapat mengunggah dan mengunduh image. Docker registries bersifat public disebut dengan Docker Hub. Disini, terdapat banyak image yang sudah dibuat atau image yang lain. Akses di (hub.docker.com).
- Dockerfile
Dockerfile merupakan script yang yang berisi dari serangkaian perintah yang akan dieksekusi secara otomatis dan berurutan untuk membuat sebuah image.
Dockerfile

Command
- ADD : digunakan untuk melakukan copy file atau folder ke suatu direktory.
- CMD : berfungsi untuk menjalankan sebuah perintah saat container dijalankan.
- ENV : berfungsi untuk mendeklarasikan environment berupa variabel pada image yang dibuat.
- FROM : berfungsi untuk mendeklarasikan base image yang akan digunakan.
- WORKDIR : berfungsi untuk mendefinisikan folder yang akan kita gunakan.
- MAINTAINER : berfungsi untuk mendeklarasikan nama author.
- RUN : berfungsi untuk menjalankan perintah – perintah di layer yang baru saat membangun sebuah image.
- EXPOSE : Mengekspos port tertentu saat container berjalan.
- COPY : Menyalin berkas / direktori yang ada pada host local ke direktori container.
- Docker Compose
Docker Compose adalah sebuah tools yang digunakan untuk mendefinisikan, menggabungkan dan mengkonfigurasi berberapa docker container menjadi satu kesatuan application’s services.
Docker-Compose

Docker Volume (1)
Volume adalah mekanisme yang digunakan untuk mempertahankan data yang dihasilkan oleh container docker dan digunakan oleh container Docker.
Docker Volume (2)

Docker Hub

Image Repository

Referensi
- https://doc.docker.com
- http://www.oxforddictionaries.com/definition/english/container
- https://container-solutions.com/understanding-volumes-docker/
- https://teknojurnal.com/pengertian-dan-istilah-pada-docker/ l
- https://andykamt.com/belajar-docker-mengenal-docker-dan-install-docker/
- https://docs.docker.com/storage/#more-details-about-mount-types
- https://docs.docker.com/storage/volumes/
- https://rizkimufrizal.github.io/belajar-docker/
- https://blog.andi.dirgantara.co/teknologi-kontainer-pengantar-pengenalan-docker-706eafe03269
- https://medium.com/ade-sadikin/mengenal-docker-bagian-2-dockerfile-ddb65f6573c4
- https://rizkimufrizal.github.io/belajar-docker/
- https://docs.docker.com/engine/reference/commandline/volume_create/
