| 
                         查看一个运行容器中的进程资源使用情况 
- $ sudo podman top <container_id> 
 -   UID   PID  PPID  C STIME TTY          TIME CMD 
 -     0 31873 31863  0 09:21 ?        00:00:00 nginx: master process nginx -g daemon off; 
 -   101 31889 31873  0 09:21 ?        00:00:00 nginx: worker process 
 
  
停止一个运行中的容器 
- $ sudo podman stop --latest 
 
  
删除一个容器 
- $ sudo podman rm --latest 
 
  
以上这些特性基本上都和 Docker 一样,Podman 除了兼容这些特性外,还支持了一些新的特性。 
给容器设置一个检查点 
- $ sudo podman container checkpoint <container_id> 
 
  
 
需要 CRIU 3.11 以上版本支持,CRIU 项目地址:https://criu.org/ 
根据检查点位置恢复容器 
- $ sudo podman container restore <container_id> 
 
  
 
迁移容器 
Podman 支持将容器从一台机器迁移到另一台机器。 
首先,在源机器上对容器设置检查点,并将容器打包到指定位置。 
- $ sudo podman container checkpoint <container_id> -e /tmp/checkpoint.tar.gz 
 - $ scp /tmp/checkpoint.tar.gz <destination_system>:/tmp 
 
  
其次,在目标机器上使用源机器上传输过来的打包文件对容器进行恢复。 
- $ sudo podman container restore -i /tmp/checkpoint.tar.gz 
 
  
配置别名 
如果习惯了使用 Docker 命令,可以直接给 Podman 配置一个别名来实现无缝转移。你只需要在 .bashrc 下加入以下行内容即可: 
- $ echo "alias docker=podman" >> .bashrc 
 - $ source .bashrc 
 
  
Podman 如何实现开机重启容器 
由于 Podman 不再使用守护进程管理服务,所以不能通过守护进程去实现自动重启容器的功能。那如果要实现开机自动重启容器,又该如何实现呢? 
其实方法很简单,现在大多数系统都已经采用 Systemd 作为守护进程管理工具。这里我们就可以使用 Systemd 来实现 Podman 开机重启容器,这里我们以启动一个 Nginx容器为例子。 
首先,我们先运行一个 Nginx 容器。 
- $ sudo podman run -t -d -p 80:80 --name nginx nginx 
 
  
然后,在建立一个 Systemd 服务配置文件。 
- $ vim /etc/systemd/system/nginx_container.service 
 -  
 - [Unit] 
 - Description=Podman Nginx Service 
 - After=network.target 
 - After=network-online.target 
 -  
 - [Service] 
 - Type=simple 
 - ExecStart=/usr/bin/podman start -a nginx 
 - ExecStop=/usr/bin/podman stop -t 10 nginx 
 - Restart=always 
 -  
 - [Install] 
 - WantedBy=multi-user.target 
 
  
接下来,启用这个 Systemd 服务。 
- $ sudo systemctl daemon-reload 
 - $ sudo systemctl enable nginx_container.service 
 - $ sudo systemctl start nginx_container.service 
 
                          (编辑:52站长网) 
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! 
                     |