Perintah Docker Build
Perintah docker build
merupakan salah satu alat yang berguna bagi pengembang untuk membuat gambar Docker dari Dockerfile dan konteks build. Artikel ini membahas secara detail mengenai perintah ini, termasuk berbagai opsi yang tersedia dan bagaimana menggunakannya dengan efektif.
Sintaks Dasar
Sintaks dasar dari perintah docker build
adalah sebagai berikut:
$ docker build [OPSINYA] PATH | URL | -
OPSINYA
merupakan flag opsional, PATH
adalah direktori lokal yang berisi Dockerfile dan konteks build, URL
adalah repositori remote yang berisi Dockerfile, dan -
menandakan bahwa konteks build disediakan melalui STDIN.
Menentukan Konteks Build
Konteks build adalah bagian penting dalam proses build. Konteks build terdiri dari berkas dan direktori yang diperlukan oleh Dockerfile untuk mengeksekusi instruksinya. Secara default, konteks build adalah direktori saat ini tempat perintah docker build dijalankan. Untuk menentukan konteks build yang berbeda, berikan jalur sebagai argumen:
$ docker build -t my-image:latest /path/to/build/context
Menambahkan Tag pada Gambar
Dengan menggunakan flag -t
atau --tag
, Anda dapat memberikan tag yang mudah dibaca pada gambar hasil build. Hal ini berguna untuk mengorganisasi dan mengelola gambar-gambar Anda. Tag mengikuti format repository:tag
:
$ docker build -t my-image:latest .
Cache Build dan Penggunaan Ulang Layer
Docker menyimpan cache layer intermediate selama proses build untuk mengoptimalkan dan mempercepat build selanjutnya. Untuk memaksa cache miss dan memastikan semua layer dibangun dari awal, gunakan flag --no-cache
:
$ docker build --no-cache -t my-image:latest .
Argumen Build
Argumen build memungkinkan Anda untuk memasukkan nilai ke dalam Dockerfile pada saat build. Gunakan flag --build-arg
diikuti dengan argumen dan nilainya:
$ docker build --build-arg API_KEY=myapikey -t my-image:latest .
Menggunakan Multi-Stage Builds
Multi-stage builds adalah cara untuk mengoptimalkan gambar Docker Anda dengan hanya menyertakan berkas dan dependensi yang diperlukan dalam gambar akhir. Untuk menggunakan multi-stage builds, gunakan flag --target
diikuti dengan tahap target:
$ docker build --target production -t my-image:latest .
Penanganan Kesalahan Build
Ketika build gagal, mungkin sulit untuk menentukan penyebabnya. Gunakan flag --progress
untuk menampilkan detail progres build:
$ docker build --progress=plain -t my-image:latest .
Referensi