Day 82 : Membuat image dengan bahasa pemrograman golang

Hari ini, saya melanjutkan perjalanan belajar Docker dengan memanfaatkan Visual Studio Code (VSCode), editor favorit saya. Fokus utama saya adalah memahami cara membuat Docker image menggunakan alur kerja yang terintegrasi dengan VSCode. Proses ini tidak hanya efisien tetapi juga menyenangkan karena VSCode memiliki ekosistem yang kaya, termasuk berbagai ekstensi pendukung yang mempermudah pekerjaan.


Mengapa Menggunakan VSCode untuk Docker?

VSCode menyediakan lingkungan pengembangan yang lengkap dengan berbagai fitur, seperti:

  1. Docker Extension: Mempermudah pengelolaan image, container, dan jaringan Docker langsung dari editor.
  2. Terminal Terintegrasi: Menjalankan perintah Docker langsung dari VSCode tanpa perlu beralih aplikasi.
  3. Debugging Tools: Membantu melacak masalah aplikasi yang berjalan di dalam container, terutama bagi pengembang Golang.

Dengan semua keunggulan ini, VSCode menjadi alat yang sangat mendukung dalam pengembangan berbasis Docker.




Langkah-langkah Membuat Docker Image di VSCode

Langkah 1: Persiapan Aplikasi

Saya memulai dengan membuat aplikasi sederhana menggunakan Golang. Berikut adalah kode programnya:

File image.go:

package main import ( "fmt" "log" "net/http" ) func handler(w http.ResponseWriter, r *http.Request) { fmt.Fprintf(w, "Hello, Muhammad Shefa Diaz Putra") } func main() { http.HandleFunc("/", handler) log.Println("Starting server on :8080") if err := http.ListenAndServe(":8080", nil); err != nil { log.Fatalf("Server failed: %v", err) } }

Aplikasi ini adalah server HTTP sederhana yang merespons dengan pesan teks saat diakses melalui browser atau alat HTTP seperti curl.


Langkah 2: Membuat Dockerfile di VSCode

Saya membuat file bernama Dockerfile di root proyek untuk mendefinisikan cara membangun image Docker.

Isi Dockerfile:

FROM golang:1.11.4 COPY image.go /M.shefa/image.go CMD ["go", "run", "/M.shefa/image.go"]
  • FROM: Menentukan base image, dalam hal ini Golang versi 1.11.4.
  • COPY: Menyalin file image.go dari lokal ke dalam container.
  • CMD: Menjalankan aplikasi dengan perintah go run.

Langkah 3: Install Docker Extension di VSCode

Saya memastikan Docker Extension sudah terinstal untuk mempermudah pekerjaan. Langkah-langkahnya:

  1. Buka Extensions Marketplace di VSCode.
  2. Cari Docker dan pilih extension resmi dari Microsoft.
  3. Klik Install untuk menambahkannya ke VSCode.

Extension ini memungkinkan saya mengelola image dan container dengan lebih visual melalui sidebar Docker di VSCode.


Langkah 4: Build Docker Image

Setelah Dockerfile selesai dibuat, saya membangun image Docker dengan langkah berikut:

  1. Buka terminal di VSCode dengan menekan Ctrl+` atau melalui menu View > Terminal.
  2. Jalankan perintah:
    docker buildx build --tag shefago:latest .
    Perintah ini memberi nama image saya shefago:latest. Titik (.) menunjukkan bahwa Dockerfile berada di direktori kerja saat ini.

Langkah 5: Cek Docker Image

Setelah proses build selesai, saya memverifikasi image yang baru saja dibuat menggunakan perintah berikut:

docker images

Output yang diharapkan:

REPOSITORY TAG IMAGE ID CREATED SIZE shefago latest 2a66a862fc47 6 seconds ago 775MB

Hasil ini menunjukkan bahwa image berhasil dibuat dan tersedia di sistem lokal.


Langkah 6: Buat Container dari Image

Berikutnya, saya membuat container baru berdasarkan image yang sudah dibuat:

docker container create --name diazgo --publish 8080:8080 shefago:latest
  • --name diazgo: Memberi nama container "diazgo".
  • --publish 8080:8080: Memetakan port 8080 di container ke port 8080 di localhost.

Langkah 7: Jalankan Container

Setelah container berhasil dibuat, saya menjalankannya dengan perintah:

docker container start diazgo

Langkah 8: Cek di Browser

Untuk memastikan aplikasi berjalan dengan baik, saya membuka browser dan mengakses:

http://localhost:8080

Jika berhasil, aplikasi akan menampilkan:
"Hello, Muhammad Shefa Diaz Putra"


Kesimpulan

Menggunakan VSCode untuk membuat Docker image adalah pengalaman yang sangat lancar dan terintegrasi. Mulai dari pengkodean, pembuatan image, hingga menjalankan container, semua bisa dilakukan dalam satu lingkungan kerja yang nyaman. Dengan memahami langkah-langkah ini, saya semakin percaya diri memanfaatkan Docker untuk mendukung alur kerja DevOps saya.

Saya antusias untuk melanjutkan pembelajaran lebih dalam di hari-hari berikutnya! 🚀

Komentar

Posting Komentar