Difference between revisions of "Podman"

From John Freier
Jump to: navigation, search
Line 23: Line 23:
 
'''Remove Container'''
 
'''Remove Container'''
 
   podman rm ff22b3bfecc1
 
   podman rm ff22b3bfecc1
 +
 +
'''Remove Image'''
 +
  podman rmi {image_sha}
 +
 +
'''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
 +
 +
'''Generate kubernetes yaml'''
 +
  podman generate kube -f infra.yaml mypod
 +
 +
'''Load kubernetes yaml'''
 +
  podman play kube infra.yaml
  
 
'''Load an Image'''
 
'''Load an Image'''

Revision as of 17:23, 7 April 2022

List Images

 podman images

List running images

 podman ps

Pull an image

 podman pull docker.io/library/httpd

Run an image

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

View Logs

 podman logs ff22b3bfecc1

Stop the latest container

 podman stop ff22b3bfecc1

List all containers

 podman ps -a

Remove Container

 podman rm ff22b3bfecc1

Remove Image

 podman rmi {image_sha}

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 

Generate kubernetes yaml

 podman generate kube -f infra.yaml mypod

Load kubernetes yaml

 podman play kube infra.yaml

Load an Image

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

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