podman-generate-spec(1) General Commands Manual podman-generate-spec(1)

podman-generate-spec - تولید Specgen JSON بر اساس کانتینرها یا پادها

podman generate spec [گزینه‌ها] کانتینر | پاد

دستور podman generate spec یک ساختار SpecGen JSON را بر اساس کانتینرها و پادهای پادمن تولید می‌کند. این خروجی JSON می‌تواند در یک فایل، مستقیماً در خط فرمان، یا در هر دو چاپ شود.

سپس می‌توان از این JSON به عنوان ورودی برای API پادمن، به ویژه برای ایجاد کانتینر و پاد استفاده کرد. ساختار Specgen قالب داخلی پادمن برای فرمول‌بندی و تعریف موجودیت‌های جدید کانتینری است.

چاپ خروجی در قالب فشرده و تک‌خطی. این گزینه هنگام انتقال (pipe) داده‌ها به API پادمن مفید است.

نوشتن خروجی در فایل مشخص‌شده.

تغییر نام پاد یا کانتینر به گونه‌ای که با موجودیت فعلی تداخل پیدا نکند. این گزینه زمانی مفید است که قرار باشد از خروجی JSON قبل از حذف پاد یا کانتینر مبدأ استفاده شود.

تولید Specgen JSON بر اساس یک کانتینر:

$ podman generate spec container1
{
 "name": "container1-clone",
 "command": [
  "/bin/sh"
 ],
 "env": {
  "PATH": "/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
  "container": "podman"
 },
 "sdnotifyMode": "container",
 "pidns": {
  "nsmode": "default"
 },
 "utsns": {
  "nsmode": "private"
 },
 "containerCreateCommand": [
  "podman",
  "run",
  "--name",
  "container1",
  "cea2ff433c61"
 ],
 "init_container_type": "",
 "image": "cea2ff433c610f5363017404ce989632e12b953114fefc6f597a58e813c15d61",
 "ipcns": {
  "nsmode": "default"
 },
 "shm_size": 65536000,
 "shm_size_systemd": 0,
 "selinux_opts": [
  "disable"
 ],
 "userns": {
  "nsmode": "default"
 },
 "idmappings": {
  "HostUIDMapping": true,
  "HostGIDMapping": true,
  "UIDMap": null,
  "GIDMap": null,
  "AutoUserNs": false,
  "AutoUserNsOpts": {
   "Size": 0,
   "InitialSize": 0,
   "PasswdFile": "",
   "GroupFile": "",
   "AdditionalUIDMappings": null,
   "AdditionalGIDMappings": null
  }
 },
 "umask": "0022",
 "cgroupns": {
  "nsmode": "default"
 },
 "netns": {
  "nsmode": "pasta"
 },
 "Networks": null,
 "use_image_hosts": false,
 "resource_limits": {}
}

تولید Specgen JSON بر اساس یک کانتینر (خروجی تک‌خطی):

$ podman generate spec --compact container1
{"name":"container1-clone","command":["/bin/sh"],...

تولید Specgen JSON بر اساس یک کانتینر و نوشتن خروجی در فایل مشخص‌شده:

$ podman generate spec --filename output.json container1
output.json
$ cat output.json
{
 "name": "container1-clone",
 "command": [
  "/bin/sh"
 ],
 "env": {
  "PATH": "/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
  "container": "podman"
 },
 "sdnotifyMode": "container",
 "pidns": {
  "nsmode": "default"
 },
 "utsns": {
  "nsmode": "private"
 },
 "containerCreateCommand": [
  "podman",
  "run",
  "--name",
  "container1",
  "cea2ff433c61"
 ],
 "init_container_type": "",
 "image": "cea2ff433c610f5363017404ce989632e12b953114fefc6f597a58e813c15d61",
 "ipcns": {
  "nsmode": "default"
 },
 "shm_size": 65536000,
 "shm_size_systemd": 0,
 "selinux_opts": [
  "disable"
 ],
 "userns": {
  "nsmode": "default"
 },
 "idmappings": {
  "HostUIDMapping": true,
  "HostGIDMapping": true,
  "UIDMap": null,
  "GIDMap": null,
  "AutoUserNs": false,
  "AutoUserNsOpts": {
   "Size": 0,
   "InitialSize": 0,
   "PasswdFile": "",
   "GroupFile": "",
   "AdditionalUIDMappings": null,
   "AdditionalGIDMappings": null
  }
 },
 "umask": "0022",
 "cgroupns": {
  "nsmode": "default"
 },
 "netns": {
  "nsmode": "pasta"
 },
 "Networks": null,
 "use_image_hosts": false,
 "resource_limits": {}
}

podman(1), podman-generate(1)