Latar Belakang
Saat ini lagi nge-trend penggunaan docker termasuk di tempat saya bekerja saat ini. saya pun coba untuk mempelajari konsep-konsep dasar docker dan perintah-perintahnya.
Dilanjutkan dengan belajar membuat image dan mengupload image ke registry. Untuk tutorial lengkapnya saya belajar dari youtube programmer zaman now
Konsep Dasar Docker
- Docker adalah container manager untuk membuat package software development ke production
- Docker bukan virtual machine, container tidak memiliki sistem operasi tersendiri
- Docker memiliki client/terminal & docker server/host/daemon
- Docker server berfungsi untuk management : container, images, dan koneksi registry
- Docker client untuk memberikan perintah ke docker server
- Docker saat ini support dengan linux OS di production
- Docker di windows atau di mac, sebenarnya running linux based
Istilah-istilah Docker
- Container Registry adalah tempat yang digunakan untuk menyimpan image docker. contohnya : Docker hub, Google Container, AWS Elastic Container Registry
- Images adalah hasil distribution file/package/bundel, yang akan di deploy ke Container Registry. images bukan installer tapi aplikasi yang sudah jadi. dalam “Docker Hub” terdapat image yang siap dipakai, tidak perlu membuat ulang image
- Container adalah hasil instansiasi dari image yang di running, dan dapat running beberapa container dari image yang sama
Perintah Dasar Docker
Sebelumnya pastikan kita sudah menginstal software docker desktop dan membuat account di docker hub. Setelah semua tahapan instalasi selesai dilakukan, silahkan bukan terminal atau CMD.
Sekenarionya adalah kita akan menginstall sebuah image database “mongodb” yang diambil dari docker hub dan menjalan container nya di local kita.
docker pull mongo:4.1
docker images
docker rm image mongo:4.1
Perintah diatas untuk mendownload image mongodb, mengecek image di local kita, dan menghapus image yang ada di local kita.
docker container ls --all
docker container create --name mongoserver -p 8080:27017 mongo:4.1
docker container start mongoserver
docker container stop mongoserver
docker container rm mongoserver
Perintah diatas untuk mengecek container yang ada di local kita, membuat container baru dari image yang sudah didownload, menjalankan, menghentikan, atau menghapus container yang sudah dibuat.
Membuat Image Sendiri
Selanjutnya kita akan membuat image sendiri dan menguploadnya ke account docker hub. Sekenarionya kita akan menginstall image bahasa golang dan menjalankan contoh script golang di local kita. Langkah-langkahnya adalah sebagai berikut :
- Membuat sample file golang
package main
import (
"fmt"
"net/http"
)
func main() {
http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) {
fmt.Fprintf(w, "Hello World!")
})
http.ListenAndServe(":8080", nil)
}
- Membuat dockerfile untuk proses membuat image baru, dengan menyertakan image pendukung yang sudah tersedia di container registry (docker hub) yaitu bahasa golang
FROM golang:1.11.4
COPY main.go /app/main.go
CMD ["go", "run", "/app/main.go"]
- Setelah 2 file ini sudah tersedia di satu folder yang sama, maka masuk ke terminal lokasi tempat 2 file ini berada, kemudian jalankan perintah dibawah ini.
docker build --tag app-golang:1.0 .
docker images
Perintah tag untuk memberi nama dan versi image. Sedangkan tanda titik (.) di belakang versi image menandakan alamat folder yang sekarang kita berada (current)
- Setelah pembuatan image selesai di local, maka cek image dengan mengetikan perintah docker images
- Setelah itu kita akan membuat container dari image yang sudah terbuat tadi dengan mengetikan perintah dibawah ini :
docker container create --name app1 -p 8080:8080 app-golang:1.0
docker container start app1
docker container ls -all
- Jika telah berhasil menjalankan containernya, maka silahkan testing di web browser dengan mengetikan localhost:8080 maka akan muncul tulisan Hello World!
Mengupload Image ke Container Registry
Yang terakhir dalam tutorial dasar docker ini adalah kita akan mengupload image ke container registry dalam hal ini kita menggunakan docker hub sebagai container registry. Langkah-langkahnya adalah sebagai berikut :
- Login ke website docker hub
- Membuat repository di docker hub misalnya nama reponya adalah app-golang
- Setelah itu, ketik perintah dibawah ini :
docker tag app-golang:1.0 kangagus/app-golang:1.0
docker images
docker login
docker push kangagus/app-golang:1.0
Perintah diatas untuk membuat tag atau nama image baru dari nama image yang ada di local kita, di dalam tag baru tersebut disertakan nama account yang terdaftar di docker hub misalnya account saya adalah “kangagus” sehingga saya akan membuat nama image baru kangagus/app-golang:1.0 dari image local saya sebelumnya yaitu app-golang:1.0
Setelah itu cek image yang telah dibuat dengan mengetikan docker images, login ke docker hub dengan perintah docker login. setelah itu upload image yang ada di local ke server docker hub dengan perintah docker push disertai nama image yang baru.
Penutup
Cara belajar yang kita gunakan sekarang adalah dengan melihat panduan dari tutorial youtube yang saya lampirkan diatas. Sehingga artikel ini hanyalah sebuah catatan kecil dari video yang sudah teman-teman simak dan ikuti langkah-langkahnya. Jika teman-teman ingin mengulang tutorial tersebut bisa menggunakan artikel ini sebagai best practise.
Sekian artikel dari saya, semoga bermanfaat untuk teman-teman dan Anda semua…aamiin
Bogor, 25 November 2021
KangAgus
Filed under: Sistem | Tagged: Desktop, di, Docker, Instalasi, Windows | Leave a comment »