Difference between revisions of "Podman"

From John Freier
Jump to: navigation, search
Line 54: Line 54:
 
   podman run --detach --volume ./mongo-data:/data/db --pod mypod --name some-mongo mongo:4.4.13
 
   podman run --detach --volume ./mongo-data:/data/db --pod mypod --name some-mongo mongo:4.4.13
  
   podman run --detach --pod mypod --name myapp e4ea21376d55
+
   podman run -it --pod mypod --name myapp --volume ./config:/config e4ea21376d55

Revision as of 15:41, 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

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 -it --pod mypod --name myapp --volume ./config:/config e4ea21376d55