Wednesday 6 April 2022

Apa ada dengan podman commit?

 


Di podman kita boleh clone running container. Basically kita boleh backup running container bersama keadaan dan tetapannya. Pada kemudian hari kita boleh larikan balik pada bila-bila masa. Kita boleh buat ni dengan arahan "podman commit"


Contoh kita run satu nginx dengan ENV variable dan kita tukar dia punya index.html

ec2-user@ip-172-31-30-36 ~]$ podman images
REPOSITORY               TAG         IMAGE ID      CREATED     SIZE
docker.io/library/nginx  latest      12766a6745ee  8 days ago  146 MB
[ec2-user@ip-172-31-30-36 ~]$ podman run -d -e MYENV=kaptenjeffryhandsome --name=mynginx docker.io/library/nginx
4a750cd75547c6a8b50fda42cf76619ca0b4fdd31067af5cbd109a2fd6046e83
[ec2-user@ip-172-31-30-36 ~]$ podman exec -it mynginx /bin/bash
root@4a750cd75547:/# echo "Kapten Jeffry Wuz Ere" > /usr/share/nginx/html/index.html
root@4a750cd75547:/# exit
exit

Pastu kita clone container yang sedang berlari (mynginx) kepada image (mynginx-custom) dengan command podman commit.
[ec2-user@ip-172-31-30-36 ~]$ podman commit mynginx mynginx-custom
Getting image source signatures
Copying blob 608f3a074261 skipped: already exists
Copying blob ea207a4854e7 skipped: already exists
Copying blob 33cf1b723f65 skipped: already exists
Copying blob 5c77d760e1f4 skipped: already exists
Copying blob fac199a5a1a5 skipped: already exists
Copying blob ea4bc0cd4a93 skipped: already exists
Copying blob 8ff3d2e47211 done
Copying config 7808730a84 done
Writing manifest to image destination
Storing signatures
7808730a84bac4b4d0d190814c12472e9fdee3ce4d91e55ec3d0db5127624f07
[ec2-user@ip-172-31-30-36 ~]$ podman ps
CONTAINER ID  IMAGE                           COMMAND               CREATED             STATUS                 PORTS       NAMES
4a750cd75547  docker.io/library/nginx:latest  nginx -g daemon o...  About a minute ago  Up About a minute ago              mynginx
[ec2-user@ip-172-31-30-36 ~]$ podman images
REPOSITORY                TAG         IMAGE ID      CREATED         SIZE
localhost/mynginx-custom  latest      7808730a84ba  25 seconds ago  146 MB
docker.io/library/nginx   latest      12766a6745ee  8 days ago      146 MB

Kemudian kita boleh run balik image yang diklon tadi. Ia akan guna index.html yang kita dah tukar dan dia sauk sekali Env variable :)
[ec2-user@ip-172-31-30-36 ~]$ podman run -d -p 8080:80 --name mynginx02 localhost/mynginx-custom
06f24c94f73986146fd1408735ce93598ab234ef29b31ccedf045d959d08bf69
[ec2-user@ip-172-31-30-36 ~]$ curl http://localhost:8080
Kapten Jeffry Wuz Ere
[ec2-user@ip-172-31-30-36 ~]$ podman exec mynginx02 printenv MYENV
kaptenjeffryhandsome
[ec2-user@ip-172-31-30-36 ~]$
Rujukan 

Docker pun ada 

No comments:

Post a Comment

Tatacara klon pelayan di AWS lightsail

  Kadang-kala kita diminta untuk buat satu sistem baru untuk tujuan ujikaji atau percubaan fungsi baru. Jika di AWS lightsail kita boleh bua...