Difference between revisions of "Podman"
From John Freier
Line 1: | Line 1: | ||
+ | |||
+ | |||
+ | == Images == | ||
+ | |||
'''List Images''' | '''List Images''' | ||
podman images | podman images | ||
− | |||
− | |||
− | |||
'''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 | ||
− | ''' | + | '''List running images''' |
− | podman | + | podman ps -a |
− | ''' | + | '''Remove Image''' |
+ | podman rmi {image_sha} | ||
− | podman | + | '''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 | ||
− | |||
− | |||
− | |||
== Pods == | == Pods == | ||
Line 44: | Line 53: | ||
podman ps -a --pod | podman ps -a --pod | ||
− | == | + | == Logs == |
− | ''' | + | '''View Logs''' |
− | + | podman logs ff22b3bfecc1 | |
− | + | ||
− | + | ||
− | + | ||
− | podman | + | |
− | ''' | + | '''Stop the latest container''' |
− | podman | + | |
+ | podman stop ff22b3bfecc1 | ||
== Kube == | == Kube == | ||
Line 65: | Line 71: | ||
== Examples == | == Examples == | ||
− | |||
'''Example run MongoDB''' | '''Example run MongoDB''' |
Revision as of 06:58, 8 April 2022
Contents
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