podman应用
目录
podman的基本设置和使用
运行一个容器
[root@localhost ~]# podman run -dt -p 8080:8080/tcp -e HTTPD_VAR_RUN=/run/httpd -e HTTPD_MAIN_CONF_D_PATH=/etc/httpd/conf.d \
> -e HTTPD_MAIN_CONF_PATH=/etc/httpd/conf \
> -e HTTPD_CONTAINER_SCRIPTS_PATH=/usr/share/container-scripts/httpd/ \
> registry.fedoraproject.org/f29/httpd /usr/bin/run-httpd
Trying to pull registry.fedoraproject.org/f29/httpd:latest...
WARN[0014] Failed, retrying in 1s ... (1/3). Error: parsing image configuration: Get "https://cdn.registry.fedoraproject.org/v2/f29/httpd/blobs/sha256:25c76f9dcdb5f512fe2d41587bbae84c25adf36126f46fba2ad6bad2ab1afabc": dial tcp [2600:9000:20eb:d200:1c:bec0:f4c0:93a1]:443: connect: network is unreachable
Getting image source signatures
Copying blob d77ff9f653ce done
Copying blob 7692efc5f81c done
Copying blob aaf5ad2e1aa3 done
Copying config 25c76f9dcd done
Writing manifest to image destination
Storing signatures
3de2bde95e768585d851e777dafb0d158a18b1944a4c822d714097ad2f50d40b
列出正在运行的容器
[root@localhost ~]# podman ps //后面在加上-a选项podman会显示所有容器
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
3de2bde95e76 registry.fedoraproject.org/f29/httpd:latest /usr/bin/run-http... About a minute ago Up About a minute ago 0.0.0.0:8080->8080/tcp cranky_wright
查看容器ip并访问
[root@localhost ~]# podman inspect -l| grep -i ipaddress
"IPAddress": "10.88.0.2",
"IPAddress": "10.88.0.2",
[root@localhost ~]# podman port -l
8080/tcp -> 0.0.0.0:8080
[root@localhost ~]# curl 10.88.0.2:8080
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>Test Page for the Apache HTTP Server on Fedora</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<style type="text/css">
/*<![CDATA[*/
body {
查看容器的日志
[root@localhost ~]# podman logs -l
=> sourcing 10-set-mpm.sh ...
=> sourcing 20-copy-config.sh ...
=> sourcing 40-ssl-certs.sh ...
AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using 10.88.0.2. Set the 'ServerName' directive globally to suppress this message
[Tue Aug 16 03:21:13.591469 2022] [ssl:warn] [pid 1:tid 139804483071360] AH01882: Init: this version of mod_ssl was compiled against a newer library (OpenSSL 1.1.1b FIPS 26 Feb 2019, version currently loaded is OpenSSL 1.1.1 FIPS 11 Sep 2018) - may result in undefined or erroneous behavior
查看容器的pid
[root@localhost ~]# podman top -l //可用使用top观察容器中的httpd pid
USER PID PPID %CPU ELAPSED TTY TIME COMMAND
default 1 0 0.000 6m14.161187143s pts/0 0s httpd -D FOREGROUND
default 24 1 0.000 6m14.161362411s pts/0 0s /usr/bin/coreutils --coreutils-prog-shebang=cat /usr/bin/cat
default 25 1 0.000 6m14.161389933s pts/0 0s /usr/bin/coreutils --coreutils-prog-shebang=cat /usr/bin/cat
default 26 1 0.000 6m14.161415701s pts/0 0s /usr/bin/coreutils --coreutils-prog-shebang=cat /usr/bin/cat
default 27 1 0.000 6m14.161441089s pts/0 0s /usr/bin/coreutils --coreutils-prog-shebang=cat /usr/bin/cat
default 28 1 0.000 6m14.161466547s pts/0 0s httpd -D FOREGROUND
default 29 1 0.000 6m14.16149469s pts/0 0s httpd -D FOREGROUND
default 31 1 0.000 6m14.161519316s pts/0 0s httpd -D FOREGROUND
default 39 1 0.000 6m14.161547699s pts/0 0s httpd -D FOREGROUND
检查点容器
检查点容器会停止容器,同时将容器中所有进程的状态写入磁盘。有了这个,容器可以稍后恢复并在与检查点完全相同的时间点继续运行。
[root@localhost ~]# podman ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
3de2bde95e76 registry.fedoraproject.org/f29/httpd:latest /usr/bin/run-http... 7 minutes ago Up 7 minutes ago 0.0.0.0:8080->8080/tcp cranky_wright
[root@localhost ~]# podman container checkpoint