Podman : Create Pods2024/05/05 |
|
Create Pods like Kubernetes.
|
|
| [1] | Create a Pod and add a Container to it. |
|
# create a empty pod # -p [bind port] -n [pod name] root@dlp:~# podman pod create -p 8081:80 -n test-pod --security-opt apparmor=unconfined 6a38b319fc87e9d91f956e8a42b82383109fd3686e32e5d200693c5fea89d916 # show pods root@dlp:~# podman pod ls POD ID NAME STATUS CREATED INFRA ID # OF CONTAINERS 6a38b319fc87 test-pod Created 27 seconds ago 9dcc8de8f8b4 1 # show details of pod root@dlp:~# podman pod inspect test-pod
{
"Id": "6a38b319fc87e9d91f956e8a42b82383109fd3686e32e5d200693c5fea89d916",
"Name": "test-pod",
"Created": "2024-05-05T05:58:05.874403823Z",
"CreateCommand": [
"podman",
"pod",
"create",
"-p",
"8081:80",
"-n",
"test-pod",
"--security-opt",
"apparmor=unconfined"
],
"ExitPolicy": "continue",
"State": "Created",
"Hostname": "",
"CreateCgroup": true,
"CgroupParent": "machine.slice",
"CgroupPath": "machine.slice/machine-libpod_pod_6a38b319fc87e9d91f956e8a42b82383109fd3686e32e5d200693c5fea89d916.slice",
"CreateInfra": true,
"InfraContainerID": "9dcc8de8f8b4810d317afcf13e65b65b23be68dbf06c08228b95db7b2c3411bc",
"InfraConfig": {
"PortBindings": {
"80/tcp": [
{
"HostIp": "",
"HostPort": "8081"
.....
.....
root@dlp:~# podman images REPOSITORY TAG IMAGE ID CREATED SIZE localhost/podman-pause 4.9.3-0 070ddb5147bc 26 minutes ago 835 kB srv.world/iproute latest 4ef0738fb3ef 2 hours ago 123 MB srv.world/ubuntu-nginx latest 1b1a4d3f4f26 4 hours ago 125 MB srv.world/ubuntu-apache2 latest 38d508336863 4 hours ago 226 MB dlp.srv.world:5000/ubuntu my-registry bf3dc08bfed0 5 days ago 78.7 MB docker.io/library/ubuntu latest bf3dc08bfed0 5 days ago 78.7 MB docker.io/moby/buildkit buildx-stable-1 1a21071780b0 9 days ago 199 MB docker.io/library/mariadb latest 465bc4da7f09 2 months ago 411 MB # run container and add it to pod root@dlp:~# podman run -dt --pod test-pod --security-opt apparmor=unconfined srv.world/ubuntu-nginx f7f309ff404b4c5d298a4ef2ed1344c35a683b3e8983b827d9b2f0102b79614croot@dlp:~# podman ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 9dcc8de8f8b4 localhost/podman-pause:4.9.3-0 2 minutes ago Up 30 seconds 0.0.0.0:8081->80/tcp 6a38b319fc87-infra f7f309ff404b srv.world/ubuntu-nginx:latest /usr/sbin/nginx -... 29 seconds ago Up 30 seconds 0.0.0.0:8081->80/tcp optimistic_leakey # verify accesses root@dlp:~# curl localhost:8081 Podman Test on Nginx # stop pod root@dlp:~# podman pod stop test-pod 6a38b319fc87e9d91f956e8a42b82383109fd3686e32e5d200693c5fea89d916 # remove pod (removed containers all) root@dlp:~# podman pod rm test-pod --force 6a38b319fc87e9d91f956e8a42b82383109fd3686e32e5d200693c5fea89d916 |
| [2] | It's possible to create Pod and add Container with one command. |
|
root@dlp:~# podman images REPOSITORY TAG IMAGE ID CREATED SIZE localhost/podman-pause 4.9.3-0 070ddb5147bc 28 minutes ago 835 kB srv.world/iproute latest 4ef0738fb3ef 2 hours ago 123 MB srv.world/ubuntu-nginx latest 1b1a4d3f4f26 4 hours ago 125 MB srv.world/ubuntu-apache2 latest 38d508336863 4 hours ago 226 MB dlp.srv.world:5000/ubuntu my-registry bf3dc08bfed0 5 days ago 78.7 MB docker.io/library/ubuntu latest bf3dc08bfed0 5 days ago 78.7 MB docker.io/moby/buildkit buildx-stable-1 1a21071780b0 9 days ago 199 MB docker.io/library/mariadb latest 465bc4da7f09 2 months ago 411 MB # create a [test_pod2] pod and add [srv.world/ubuntu-nginx] container root@dlp:~# podman run -dt --pod new:test-pod2 -p 80:80 -p 3306:3306 --security-opt apparmor=unconfined srv.world/ubuntu-nginx 06389cc5b98779f3d32b932cd6b980b13344a381ffd45530d90556ad4f70660froot@dlp:~# podman pod ls POD ID NAME STATUS CREATED INFRA ID # OF CONTAINERS ffc470c3105b test-pod2 Running 16 seconds ago 88b36d876b70 2root@dlp:~# podman ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 88b36d876b70 localhost/podman-pause:4.9.3-0 37 seconds ago Up 37 seconds 0.0.0.0:80->80/tcp, 0.0.0.0:3306->3306/tcp ffc470c3105b-infra 06389cc5b987 srv.world/ubuntu-nginx:latest /usr/sbin/nginx -... 37 seconds ago Up 37 seconds 0.0.0.0:80->80/tcp, 0.0.0.0:3306->3306/tcp pensive_haslett # run [mariadb] container and add it to the [test-pod2] root@dlp:~# podman run -dt --pod test-pod2 --security-opt apparmor=unconfined -e MYSQL_ROOT_PASSWORD=Password docker.io/library/mariadb 1fdc532a853ecfb960c33472280b640eca15dd949c655721959bba34755312ddroot@dlp:~# podman ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 88b36d876b70 localhost/podman-pause:4.9.3-0 2 minutes ago Up 2 minutes 0.0.0.0:80->80/tcp, 0.0.0.0:3306->3306/tcp ffc470c3105b-infra 06389cc5b987 srv.world/ubuntu-nginx:latest /usr/sbin/nginx -... 2 minutes ago Up 2 minutes 0.0.0.0:80->80/tcp, 0.0.0.0:3306->3306/tcp pensive_haslett 1fdc532a853e docker.io/library/mariadb:latest mariadbd 12 seconds ago Up 13 seconds 0.0.0.0:80->80/tcp, 0.0.0.0:3306->3306/tcp frosty_nobel
root@dlp:~#
root@dlp:~# curl dlp.srv.world Dockerfile Test on Nginx mysql -u root -p -h dlp.srv.world -e "show variables like 'hostname';" Enter password: +---------------+-----------+ | Variable_name | Value | +---------------+-----------+ | hostname | test-pod2 | +---------------+-----------+ |
| Sponsored Link |
|
|