DOCKER
AHMAD NURYANTO, [Link]
CONTAINERS VS VIRTUAL MACHINE
Virtual machine (VM) merupakan hal yang membuat pengguna
dapat membagi resource hardware dari satu hardware fisik
menjadi beberapa sistem komputer. Container adalah virtualisasi OS yang dapat membungkus suatu
aplikasi beserta dependency dan environment-nya.
Setiap container memiliki proses yang terisoalasi sehingga
VM merupakan teknologi virtualisasi pada level hardware,tidak mengganggu host OS ataupun container yang lainnya
sedangkan Docker merupakan teknologi virtualisasi yang
berada pada level sistem operasi.
PENGERTIAN
Docker adalah layanan tools yang menyediakan kemampuan untuk mengemas (build) dan menjalankan (run) sebuah
aplikasi dalam sebuah lingkungan terisolasi yang disebut dengan container.
ARSITEKTUR DOCKER
ISTILAH DALAM DOCKER
Docker Daemon: berfungsi untuk membangun, mendistribusikan, dan menjalakan container Docker.
Docker Image: dasar template untuk Docker container. Berisi instruksi yang di-define pada file Dockerfile. Template
yang bersifat read-only. Satu docker images dapat digunakan untuk membuat banyak docker container.
Docker Container: berada di atas image. Setiap perubahan yang disimpan pada container akan menyebabkan
terbentuknya layer baru di atas base image. Docker container dibuat menggunakan Docker daemon.
Docker Registry: tempat image disimpan. Berisikan kumpulan Docker image yang dapat diakses melalui Docker hub.
Melalui docker registry juga dapat menggunakan Docker image yang telah dibuat oleh developer lain.
Dockerfile adalah file text yang berisi command untuk keperluan build image
MANFAAT DOCKER
Docker membuat developer lebih mudah :
1. memodifikasi dan memperbarui program existing
2. mengirimkan kode lebih cepat,
3. menstandardisasi operasi aplikasi,
4. memindahkan kode dengan lancar,
5. menghemat uang dengan meningkatkan pemanfaatan sumber daya.
6. Tujuan digunakannya Docker adalah untuk membuat aplikasi menjadi portable dan simpel.
DOCKER COMMANDS
[Link]
INSTALL DOCKER
Update Ubuntu
sudo apt update
Install Dependency
sudo apt install -y apt-transport-https ca-certificates curl software-properties-common
GPG (GNU Privacy Guard) untuk membuat koneksi dari git di komputer menuju github menjadi lebih aman. Karena isi dari commit itu telah di
enkripsi dengan berbagai macam format.
curl -fsSL [Link] | sudo gpg --dearmor -o /usr/share/keyrings/[Link]
Menambah Repo ke APT
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/[Link]] [Link] $
(lsb_release -cs) stable" | sudo tee /etc/apt/[Link].d/[Link] > /dev/null
sudo apt update
sudo apt install -y docker-ce docker-ce-cli [Link]
sudo docker --version
sudo usermod -aG docker $USER
[Link]
DEMO
LAB 1
#docker pull phpMyAdmin:latest
#docker images
#docker container create - -name belajarphp –p 8081:80 phpMyAdmin:latest
#docker container start belajarphp
#docker container ls/docker ps
LAB 2
#docker pull mariadb:latest
#docker images
#docker container create - -name belajarmariadb –e Mariadb_ROOT_PASSWORD=password mariadb:latest
#docker container start belajarmariadb
#docker container ls/docker ps
DEMO
LAB 3
#docker container stop belajarphp
#docker rm container belajarphp
#docker run - -name belajarphp –d - -link belajarmariadb:db –p 8081:80 phpMyAdmin:latest
#docker container start belajarphp
#docker container ls/docker ps
LAB 4
1. Buka via browser [Link] address:8081
2. Login ke phpMyAdmin user:root password:password
DEMO
LAB 5
#docker network create mynetwork
#docker run - -name belajarphpnetwork –-network mynetwork –p 8081:80 –d phpMyAdmin:latest
#docker container ls/docker ps
#docker run - -name belajarmariadbnetwork –network mynetwork –e –d MARIADB_ROOT_PASSWORD=password
mariadb:latest
LAB 6
1. Buka via browser [Link] address:8081
2. Login ke phpMyAdmin user:root password:password