Docker: Membuat Image dari Container

#1 Unduh image.

$ docker pull nginx:alpine

#2 Buat container.

$ docker run -d -p 80:80 nginx:alpine

#3 Masuk ke dalam shell milik container.

$ docker exec -it 49974b3a43e1 sh

#4 Modifikasi isi container. Saya akan menambahkan sebuah file test.html dengan isi <h1>TESTING</h1>.

$ echo "<h1>TESTING</h1>" > /usr/share/nginx/html/test.html

#5 Buka browser anda dan masuk ke halaman http://<alamat-ip-docker-host-anda>/test.html.

#6 Kembali ke shell milik host lalu jalankan perintah:

docker commit <container_id/name> [<image_name>][:latest, :<image_tag>]
$ docker commit 49974b3a43e1
$ docker commit 49974b3a43e1 my-nginx
$ docker commit 49974b3a43e1 my-nginx:ver-1
$ docker images -a
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
my-nginx            ver-1               c7e8a257fcf0        4 seconds ago       15.2MB
my-nginx            latest              c0e9dd510650        23 seconds ago      15.2MB
<none>              <none>              1efa8ec50218        53 seconds ago      15.2MB

Image tagging dapat dilakukan pada saat maupun setelah proses docker commit. Jika hanya memberikan <image_name> maka otomatis akan menghasilkan <image_name>:latest dan akan meng-overwrite <image_name>:latest yang ada.

$ docker tag <image_id> <image_name>[:latest, :<image_tag>]
$ docker tag 1efa8ec50218 my-nginx
$ docker tag 1efa8ec50218 my-nginx:ver-1

Untuk membuat container dengan image baru:

$ docker run -d -p 80:80 1efa8ec50218
$ docker run -d -p 80:80 my-nginx        # menggunakan IMAGE ID c0e9dd510650
$ docker run -d -p 80:80 my-nginx:ver-1  # menggunakan IMAGE ID c7e8a257fcf0

#7 Buka browser anda dan masuk ke halaman http://<alamat-ip-docker-host-anda>/test.html.

Selamat mencoba!


Comments

Leave a Reply

Your email address will not be published. Required fields are marked *