Skip to main content

Build image dengan multi platfrom dengan docker

Server memiliki architecture yang berbeda dengan server lain, architecture ini meliputi server linux dengan architecture amd64 ataupun arm64. perbedaan ini mempengaruhi image yang akan dijalankan, karena server hanya akan menjalankan image dengan architecture sama dengan lingkunganya

bagaimana caranya membuat image dengan architecture yang berbeda? untuk mengatasi ini docker mempunyai fitur untuk melakukan build sesuai architecture

jika ingin build image dengan architecture arm64, dengan mengunakkan command berikut

docker build --platfrom linux/arm64 -t image:latest .

bagaimana jika ingin membuat image dengan multi platform sayangnya ketika dokumentasi ini ditulis, docker belum bisa untuk melakukan build secara bersamaan untuk multi platform. namun docker telah menyediakan alternative lain untuk melakukan build multi platform.

yaitu dengan docker buildx cara yang pertama, buat terlebih dahulu instance untuk menjalankan buildx

docker buildx create --use --name <instance name>

kemudian build image dengan buildx

docker buildx build --platform linux/amd64,linux/arm64 -t image:latest --push .

command diatas akan melakukan build dengan 2 architecture dan melakukan push setelah build selesai