美文网首页Docker-Podman
Podman 执行参数与命令

Podman 执行参数与命令

作者: ___n | 来源:发表于2022-02-12 11:20 被阅读0次

    Centos 8 , 当你使用 yum install docker 的时候,会发现安装的是 podman-docker,因为centos8 默认使用 podman 替换了原来的 docker 管理器 , 如果还是想装 docker,可以看这里《 CentOS8 YUM 安装 Docker

    其实 Centos8 的 podman-docker 使用的其实还是 docker 的内核,所以docker原来大部份的命令,还是可以使用

    Podman 和 Docker不同之处

    • docker需要使用root用户来创建容器,但是podman不需要 ,这点很友好
    • docker启动的容器支持 --restart 策略,但是 podman不支持,如果在k8s中就不存在这个问题,可以设置pod的重启策略,在系统中我们可以采用编写systemd服务来完成自启动
    • 启动容器的方式不同:

      docker 需要在我们的系统上运行一个守护进程(docker daemon),而 podman 不需要

      • docker cli 命令通过API跟 Docker Engine(引擎)交互告诉它我想创建一个container,然后docker Engine才会调用OCI container runtime(runc)来启动一个container。这代表container的process(进程)不会是Docker CLI的child process(子进程),而是Docker Engine的child process。
      • Podman是直接给OCI containner runtime(runc)进行交互来创建container的,所以container process直接是podman的child process。

    podman 可执行命令

    Podman 没有 daemon守护进程,docker 的 --restart 参数被废弃了,要想实现开机自动启动容器,可以通过 systemd 来管理了。

    # podman 
    attach       cp           exec         help         import       load         mount        port         restart      save         stop         unmount      volume       
    build        create       export       history      info         login        pause        ps           rm           search       tag          unpause      wait         
    commit       diff         generate     image        inspect      logout       play         pull         rmi          start        top          varlink      
    container    events       healthcheck  images       kill         logs         pod          push         run          stats        umount       version  
    

    podman run 参数

    # podman run -
    -a                             --cpuset-mems                  --gidmap                       --label                        --pids-limit                   --systemd
    --add-host                     --cpu-shares                   --group-add                    --label-file                   --pod                          -t
    --annotation                   -d                             -h                             --log-driver                   --privileged                   --tmpfs
    --attach                       --detach                       --health-cmd                   --log-opt                      --publish                      --tty
    --blkio-weight                 --detach-keys                  --health-interval              -m                             --publish-all                  -u
    --blkio-weight-device          --device                       --health-retries               --mac-address                  --quiet                        --uidmap
    --builtin-volume               --device-read-bps              --health-timeout               --memory                       --read-only                    --ulimit
    -c                             --device-read-iops             --help                         --memory-reservation           --read-only-tmpfs              --user
    --cap-add                      --device-write-bps             --hostname                     --memory-swap                  --rm                           --userns
    --cap-drop                     --device-write-iops            --http-proxy                   --memory-swappiness            --rootfs                       --uts
    --cgroup-parent                --disable-content-trust=false  -i                             --name                         --runtime                      -v
    --cidfile                      --dns                          --image-volume                 --network                      --security-opt                 --volume
    --conmon-pidfile               --dns-option                   --init                         --no-healthcheck               --shm-size                     --volumes-from
    --cpu-period                   --dns-search                   --init-path                    --no-hosts                     --sig-proxy=false              -w
    --cpu-quota                    -e                             --interactive                  --oom-kill-disable             --stop-signal                  --workdir
    --cpu-rt-period                --entrypoint                   --ip                           --oom-score-adj                --stop-timeout                 
    --cpu-rt-runtime               --env                          --ipc                          -p                             --subgidname                   
    --cpus                         --env-file                     --kernel-memory                -P                             --subuidname                   
    --cpuset-cpus                  --expose                       -l                             --pid      
    

    创建 systemd 启动项

    在/usr/lib/systemd/system目录下新建 文件名.service 文件

    如果需要登陆后再启动,可以在 /usr/lib/systemd 下创建

    [Unit]
    Description=Podman PHP Service
    After=network.target
    
    [Service]
    Type=simple
    ExecStart=/usr/bin/podman start  -a 容器名
    ExecStop=/usr/bin/podman stop -t 10 容器名
    Restart=always
    
    [Install]
    WantedBy=multi-user.target
    

    相关文章

      网友评论

        本文标题:Podman 执行参数与命令

        本文链接:https://www.haomeiwen.com/subject/xkutlrtx.html