Halo Sobat Nostra,
Kali ini saya ingin share tentang kustomisasi sebuah docker image sesuai kebutuhan.
Pada umumnya ketika kita ingin melakukan pada perubahan pada sebuah docker image adalah melakukan perubahan pada dockerfile untuk docker image tersebut. Lalu bagaimana jika tidak mempunyai dockerfile untuk docker image tersebut, karena mungkin kita pull dari docker registry, dan ternyata setelah kita run, ternyata ada hal yang perlu kita ubah atau modifikasi. Solusi untuk masalah ini ada 2, pertama yaitu buat dockerfile nya lagi dari awal agar sesuai dengan kebutuhan, atau bisa juga dengan memanfaatkan docker commit. Dengan docker commit ini, kita akan masuk ke dalam container awal yang akan modifikasi, lalu melakukan perubahan di dalam container sesuai kebutuhan kita.
Lalu bagaimana penggunaan docker commit?
docker commit id_container new_image_name
dimana:
docker commit : command untuk build image baru melalui container
id_container : adalah id container yang telah kita modifikasi
new_image_name : adalah nama image baru yang akan kita pakai atau push ke docker registry
ex:
docker commit b14169723951 new-image
[root@localhost ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
docker.io/ubuntu latest 2d696327ab2e 2 weeks ago 121.6 MB
root@b14169723951:/# apt update -y
Get:1 http://security.ubuntu.com/ubuntu xenial-security InRelease [102 kB]
Get:2 http://archive.ubuntu.com/ubuntu xenial InRelease [247 kB]
Get:3 http://archive.ubuntu.com/ubuntu xenial-updates InRelease [102 kB]
Get:4 http://security.ubuntu.com/ubuntu xenial-security/universe Sources [49.7 kB]
Get:5 http://archive.ubuntu.com/ubuntu xenial-backports InRelease [102 kB]
Get:6 http://security.ubuntu.com/ubuntu xenial-security/main amd64 Packages [456 kB]
Get:7 http://archive.ubuntu.com/ubuntu xenial/universe Sources [9802 kB]
Get:8 http://security.ubuntu.com/ubuntu xenial-security/restricted amd64 Packages [12.8 kB]
Get:9 http://security.ubuntu.com/ubuntu xenial-security/universe amd64 Packages [212 kB]
Get:10 http://security.ubuntu.com/ubuntu xenial-security/multiverse amd64 Packages [2928 B]
Get:11 http://archive.ubuntu.com/ubuntu xenial/main amd64 Packages [1558 kB]
Get:12 http://archive.ubuntu.com/ubuntu xenial/restricted amd64 Packages [14.1 kB]
Get:13 http://archive.ubuntu.com/ubuntu xenial/universe amd64 Packages [9827 kB]
Get:14 http://archive.ubuntu.com/ubuntu xenial/multiverse amd64 Packages [176 kB]
Get:15 http://archive.ubuntu.com/ubuntu xenial-updates/universe Sources [220 kB]
Get:16 http://archive.ubuntu.com/ubuntu xenial-updates/main amd64 Packages [823 kB]
Get:17 http://archive.ubuntu.com/ubuntu xenial-updates/restricted amd64 Packages [13.5 kB]
Get:18 http://archive.ubuntu.com/ubuntu xenial-updates/universe amd64 Packages [689 kB]
Get:19 http://archive.ubuntu.com/ubuntu xenial-updates/multiverse amd64 Packages [17.5 kB]
Get:20 http://archive.ubuntu.com/ubuntu xenial-backports/main amd64 Packages [5176 B]
Get:21 http://archive.ubuntu.com/ubuntu xenial-backports/universe amd64 Packages [6354 B]
Fetched 24.4 MB in 52s (464 kB/s)
Reading package lists... Done
Building dependency tree
Reading state information... Done
All packages are up to date.
root@b14169723951:/#
[root@localhost ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
b14169723951 ubuntu "/bin/bash" 5 minutes ago Up 5 minutes silly_gates
[root@localhost ~]# docker commit b14169723951 new-image
sha256:a6acd8c852ccc191614fbd1f8182e9f5274eebbe079503da188289e8cbd46c11
[root@localhost ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
new-image latest a6acd8c852cc 9 seconds ago 160.7 MB
docker.io/ubuntu latest 2d696327ab2e 2 weeks ago 121.6 MB
Terlihat bahwa image yang baru sudah berhasil di build.
Demikian yang saya share kali ini, semoga bermanfaat.
No comments:
Post a Comment