outwire.podman_systemd
Ansible 角色 Podman Systemd
配置 Podman Pod 和容器的 Systemd 单元
角色变量
podman_systemd_service_path: /etc/systemd/system
podman_systemd_container_service_prefix: "container"
podman_systemd_pod_service_prefix: "pod"
Systemd 服务文件的存放位置。您还可以配置服务名称的前缀。
podman_systemd_default_wants: network.target
podman_systemd_default_after: network-online.target
podman_systemd_default_restart: on-failure
podman_systemd_default_wantedby: multi-user.target default.target
Systemd 服务的默认值。您也可以为每个 Pod / 容器更改这些值(见下文)。
podman_systemd_default_container_detached: false
容器默认是附加启动的,因此可以在 syslog 中捕获输出。如果您想将其分离,请更改为 true
。这可以为每个 Pod / 容器单独更改(见下文)。
其他变量可以在 defaults/main.yml 中找到。
注意事项
虽然该角色理论上支持以“非主用户组”的身份运行无根容器或 Pod(例如,用户“test”和组“asdf”,而不是组“test”),但在这种情况下可能会遇到 subuids/gids 的一些问题。
示例容器变量
podman_containers:
- name: nginx
run_as_user: root
run_args:
-p 80:80
image: nginx:latest
- name: node-exporter
run_as_user: prometheus
run_args:
-p 9100:9100
image: quay.io/prometheus/node-exporter:v1.0.1
示例 Pod 变量
podman_pods:
- name: nextcloud
run_as_user: nextcloud
run_user_subid: 500000:100000
run_args:
-p 8080:80
restart: always
containers:
- name: db
image: mariadb
detached: true
run_args:
-v nextcloud-db:/var/lib/mysql
-e MYSQL_ROOT_PASSWORD=rootpw
-e MYSQL_PASSWORD=123
-e MYSQL_DATABASE=nextcloud
-e MYSQL_USER=nextcloud
cmd_args:
--transaction-isolation=READ-COMMITTED
--binlog-format=ROW
- name: app
image: nextcloud
run_args:
-v nextcloud-app:/var/www/html
-e MYSQL_ROOT_PASSWORD=rootpw
-e MYSQL_PASSWORD=123
-e MYSQL_DATABASE=nextcloud
-e MYSQL_USER=nextcloud
许可证
MIT