Difference between revisions of "Podman"

From John Freier
Jump to: navigation, search
Line 1: Line 1:
 +
 +
 +
== Images ==
 +
 
'''List Images'''
 
'''List Images'''
 
   podman images
 
   podman images
 
'''List running images'''
 
  podman ps
 
  
 
'''Pull an image'''
 
'''Pull an image'''
Line 11: Line 12:
 
   podman run -dt -p 8080:80/tcp docker.io/library/httpd
 
   podman run -dt -p 8080:80/tcp docker.io/library/httpd
  
'''View Logs'''
+
'''List running images'''
   podman logs ff22b3bfecc1
+
   podman ps -a
  
'''Stop the latest container'''
+
'''Remove Image'''
 +
  podman rmi {image_sha}
  
   podman stop ff22b3bfecc1
+
'''Load an Image'''
 +
  Worked
 +
  cat cs-oci.tar | podman load
 +
 
 +
  Did not work.
 +
  podman load oci-archive:cs-oci.tar:latest
 +
 
 +
'''Update the tag for an image'''
 +
   podman tag e7b8dd57dec6 cs:latest
 +
 
 +
== Containers ==
  
 
'''List all containers'''
 
'''List all containers'''
Line 23: Line 35:
 
'''Remove Container'''
 
'''Remove Container'''
 
   podman rm ff22b3bfecc1
 
   podman rm ff22b3bfecc1
 
'''Remove Image'''
 
  podman rmi {image_sha}
 
  
 
== Pods ==
 
== Pods ==
Line 44: Line 53:
 
   podman ps -a --pod
 
   podman ps -a --pod
  
== Images ==
+
== Logs ==
  
'''Load an Image'''
+
'''View Logs'''
  Worked
+
   podman logs ff22b3bfecc1
  cat cs-oci.tar | podman load
+
 
+
  Did not work.
+
   podman load oci-archive:cs-oci.tar:latest
+
  
'''Update the tag for an image'''
+
'''Stop the latest container'''
   podman tag e7b8dd57dec6 cs:latest
+
 
 +
   podman stop ff22b3bfecc1
  
 
== Kube ==
 
== Kube ==
Line 65: Line 71:
  
 
== Examples ==
 
== Examples ==
 
  
 
'''Example run MongoDB'''
 
'''Example run MongoDB'''

Revision as of 07:58, 8 April 2022


Images

List Images

 podman images

Pull an image

 podman pull docker.io/library/httpd

Run an image

 podman run -dt -p 8080:80/tcp docker.io/library/httpd

List running images

 podman ps -a

Remove Image

 podman rmi {image_sha}

Load an Image

 Worked
 cat cs-oci.tar | podman load
 
 Did not work.
 podman load oci-archive:cs-oci.tar:latest

Update the tag for an image

 podman tag e7b8dd57dec6 cs:latest

Containers

List all containers

 podman ps -a

Remove Container

 podman rm ff22b3bfecc1

Pods

Create a pod

 podman pod create --name mypod

List pods

 podman pod list

Start pod

 podman pod start {podname}

Stop pod

 podman pod stop {podname}

List all processes with pods

 podman ps -a --pod

Logs

View Logs

 podman logs ff22b3bfecc1

Stop the latest container

 podman stop ff22b3bfecc1

Kube

Generate kubernetes yaml

 podman generate kube -f infra.yaml mypod

Load kubernetes yaml

 podman play kube infra.yaml

Examples

Example run MongoDB

 podman run \ 
   --detach \ 
   --publish 27017:27017 \
   --userns=keep-id \ 
   --volume ./mongo-data:/data/db \ 
   --name some-mongo \ 
   mongo:4.4.13 
 
 # --detach, -d - Detached mode: run the container in the background and print the new container ID. The default is false
 # --publish, -p - Publish a container’s port, or range of ports, to the host.
 # --userns - Because podman runs rootless we need to assign a user that can access the local volumn.  This sets the podman user to the same user who ran the podman command.
 # --volume, -v - Create a bind mount.
 # --name - Assign a name to the container.

Example running with pods This is a test to see how apps can talk between each other in a podman network within a pod.

Create the pod

 podman pod create --userns=keep-id --publish 8080:8080 --name mypod
 podman run --detach --volume ./mongo-data:/data/db --pod mypod --name some-mongo mongo:4.4.13
 podman run --detach --pod mypod --name myapp -e SPRING_DATA_MONGODB_HOST="localhost" -e CS_DATABASE_MONGODB_EMBEDED_ENABLED="false" e7b8dd57dec6
 Not used - only for debug
 podman run -it --pod mypod --name myapp --volume ./config:/config --entrypoint "/bin/sh" e7b8dd57dec6