【podman实践】常用podman命令
podman使用场景分类的常用命令:
1. 基础操作 (Basic Operations)
1 2
| podman --help podman [command] --help
|
2. 镜像管理 (Image Management)
镜像就像是容器的“模板”。
1
| podman pull <image_name>
|
- 构建镜像(通过 Containerfile 或 Dockerfile):
1
| podman build -t <tag_name> .
|
3. 容器生命周期管理 (Container Management)
1 2 3 4
| podman run -d --name <container_name> -p <host_port>:<container_port> <image_name> -d: 后台运行 -it: 交互式运行 --rm: 容器停止后自动删除
|
1
| podman stop <container_id或者name>
|
1
| podman start <container_id或者name>
|
1
| podman restart <container_id或者name>
|
1
| podman exec -it <container_id或者name> /bin/bash
|
1
| podman logs -f <container_id>
|
1
| podman rm -f <container_id>
|
4. Pod 管理 (Pod Management)
这是 Podman 的特色功能(源自 Kubernetes 概念),允许将多个容器组合在一起共享网络。
1
| podman pod create --name <pod_name> -p 8080:80
|
1
| podman run -d --pod <pod_name> --name <c1> <image>
|
1 2
| podman pod stop <pod_name> podman pod rm <pod_name>
|
5. 资源清理 (Cleanup)
长期使用后,系统可能会积累很多无用数据。
6. 与 Docker 的“小抄”
如果你是从 Docker 迁移过来的,可以记住这个“必杀技”:
别名设置: 在 .bashrc 或 .zshrc 中添加
由于两者 CLI 兼容性极高,大部分脚本可以直接运行。
7.容器自启动管理 (Systemd 整合)
由于 Podman 没有守护进程,物理机重启后容器不会自动启动。Podman 的官方方案是将其生成为 Systemd 服务。
1 2
| mkdir -p ~/.config/systemd/user/ cd ~/.config/systemd/user/
|
1
| podman generate systemd --name <container_name> --files --new
|
--new 参数非常重要:它确保服务启动时会自动创建容器,停止时销毁容器,保证环境洁净。
1
| systemctl --user daemon-reload
|
1
| systemctl --user enable --now container-<name>.service
|
对于非 Root 用户,默认在注销登录后容器会停止。需要开启 linger:
1
| loginctl enable-linger <your_username>
|
1
| systemctl --user disable container-<name>.service
|
8.Systemd 常用命令
1 2 3 4 5
| 启动服务:systemctl --user start <service_name> 停止服务:systemctl --user stop <service_name> 重启服务:systemctl --user restart <service_name> 查看服务状态:systemctl --user status <service_name> 查看运行日志:journalctl --user -u <service_name> -f
|
> -f: 实时滚动查看
> -n 50: 查看最后 50 行
1 2 3 4
| 启用开机自启:systemctl --user enable <service_name> 取消开机自启:systemctl --user disable <service_name> 启用并立即启动:systemctl --user enable --now <service_name> 检查是否已启用:systemctl --user is-enabled <service_name>
|
1 2 3
| 重载 Systemd 配置:systemctl --user daemon-reload 列出所有活动服务:systemctl --user list-units --type=service 列出所有已安装服务(包括未运行):systemctl --user list-unit-files
|
本文作者:BOSh
本文链接:http://bosh.zz.ac/posts/2355238239.html
版权声明:本文由BoSh发布,部分内容来源于网络。