当前位置: 首页 > news >正文

Podman容器开机自启

Podman容器开机自启

Podman是没有像docker-daemon守护进程的,开机启动需要利用Linux系统的 systemd 实现开机启动。

实现podman容器开机自启 3种方式:

  1. 使用 podman-restart.service,操作比较方便
  2. 使用 podman generate systemd 生成启动*.service
  3. 使用 Quadlet 实现(本文未涉及),可参考 Make systemd better for Podman with Quadlet

一、使用 podman-restart.service

和 Docker 一样设置 --restart 选项,而 Podman 依赖 podman-restart.service 实现开机启动:

容器使用 --restart 选项:

podman run -it  --restart=always -d redis# 启动 podman-restart 服务
systemctl --user enable --now podman-restart# 不登录用户,也开启 systemd 服务。否则 退出用户服务就停止了!!!
loginctl enable-linger <username>

说明:启动 podman-restart,才能实现开机自启。

compose中配置 restart:
serivces:app:build: .restart: always

二、使用 podman generate systemd 实现开机自启

在创建服务之前,先区分 镜像、容器、吊舱(Pod)概念。
这里服务本身是基于 容器或吊舱的,所以需先创建 容器或吊舱。

# 先创建容器,同运行一样。podman run --name 是创建并运行
podman create --name <容器名称> \-p <主机端口>:<容器端口> \-e <环境变量名>=<环境变量值> \<镜像名称>
2.1 容器或Pod生成 .service 文件
# --name 指定名称的容器/pod,而非容器ID
podman generate systemd --files --name <pod/conatainer_name># 移动到用户目录,并启动
mv container-*.service  ~/.config/systemd/user/systemctl --user enable --now container-*
2.2 compose.yml 文件生成 .service
podman-compose --in-pod pod_name up --no-start
sudo podman-compose systemd -a create-unit
podman-compose systemd -a register

三、操作案例

使用 podman-compose 启动后,podman-compose pspodman ps 获取当前的容器名(NAMES),根据容器名创建:

# vap_minio 就是容器名,默认是 到标准输出 控制台
podman generate systemd --name vap_minio# --files 保存到文件
podman generate systemd --files --name vap_minio# 生成在当前目录,名为 container-xxx.service
# 用户 服务 在 ~/.config/systemd/user/ 目录
mv container-*.service ~/.config/systemd/user/# --now 是否立即启动,还是下次 系统启动时
systemctl --user enable --now container-*

注:但是以登录用户 启动,当用户退出时,就会 停止 服务。

解决方法:

  1. 使用 loginctl enable-linger <username> 启用用户常驻
  2. 改为 系统服务方式

移动到系统目录:

mv container-*.service /etc/systemd/systemcd /etc/systemd/systemsystemctl enable --now container-*

文档

  • 14.5. 使用 Podman 生成 systemd 单元文件
  • linux podman docker如何设置支持restart policy
  • podman-run restart-policy | Podman
  • podman generate systemd
  • How to run pods as systemd services with Podman
  • https://github.com/containers/podman-compose/issues/307
  • How to run pods as systemd services with Podman
http://www.dtcms.com/a/443354.html

相关文章:

  • 邢台哪儿做wap网站好淮北论坛最新招聘信息
  • 郑州天梯网站制作嘉定制作企业网站
  • 集约化网站建设的函网站开发软件中文版
  • 怎么做网站外推ppp模式在网站建设的
  • 【数据结构】非线性数据结构——堆
  • 河西区做网站的公司网站维护中要多久才能重新进入
  • 怎么让谷歌收录我的网站博客网站怎么建设
  • 网站收录查询邯郸网站优化平台
  • 数据库策略网站推广的有效方法有wordpress后台管理菜单改名
  • 蚌埠铁路建设监理公司网站做英语阅读的网站或是app
  • 纯静态网站seo网络营销推广的方式包括
  • 固镇网站建设哪家好?wordpress 自动关键词
  • 零食店网站构建策划报告正能量晚上看的网站2021
  • 郴州市建设局网站节能科怎样做diy家具网站
  • 找人做网站 网站定制开发合肥高端网站
  • 工程建设标准最新查询网站如何有效推广
  • 如何使用ftp上传网站深圳设计公司官网
  • 怎么做免费网站如何让百度收录wordpress pc客户端
  • cms网站模板下载杂志社网站建设意义
  • 商洛 网站建设做dapp开发广州
  • 德阳网站制作公司全国为何又突然做核酸了
  • 阜宁做网站的价格服务器建设网站软件
  • 美发店收银系统最新版本
  • 90设计网站会员全站通与电商模板的区别关于校园网站升级建设的报告
  • 网站怎么做支付宝付款小程序开发一个要多少钱
  • 总线锁(Bus Lock)是什么?
  • php网站建设与维护企业网站的设计公司
  • 网站开发7个基本流程图爬取1024上传到wordpress
  • 物联网网站开发公司手机如何网站模板
  • 产品展示网站设计网站建设报告心得体会