اطلاعات یک کانتینر
دستور k3 container inspect برای مشاهدهی تمام جزئیات سطح پایین یک کانتینر استفاده میشود. خروجی این دستور به صورت json است و شامل اطلاعات کامل از وضعیت، پیکربندی، منابع و جزئیات اجرای کانتینر میباشد.
🧩 دستور کلی
{{baseURL}}/containers/{{containerId}}/json
📥 مشخصات درخواست (Request)
| فیلد | مقدار |
|---|---|
| Method | GET |
| Endpoint | /containers/{{containerId}}/json |
| Query Parameters | خیر |
| Content-Type | application/json |
⚙️ پارامترها (params)
بدنه (body)
روش استفاده (How to Use)
GET {{baseURL}}/containers/{{containerId}}/json
{
"data": {
"message": "containerNotFound: No container exists with the specified name or ID prefix.",
"containerId": "cont44"
},
"meta": {
"code": "unknown",
"sourceType": "unknown",
"sourceName": "unknown",
"version": "unknown",
"shamsiDate": "14040513163845620",
"requestId": "b4151ae8-cd8b-4fa1-8cbf-ad918d8294af"
}
}
{
"meta": {
"shamsiDate": "14040513164117816",
"requestId": "09c1dddf-c9c7-485d-a21e-9451ea6a57f4"
},
"data": {
"id": "00c3e3bb4438b17a",
"created": "2025-08-04T13:03:47.568Z",
"args": "tail -f /dev/null",
"state": {
"running": true,
"paused": false,
"restartPolicy": "always",
"restartDelay": "0",
"restartWindow": 0,
"maxAttempts": 100000,
"oomKilled": false,
"failed": false,
"pid": 26717,
"exitCode": "none",
"error": ""
},
"image": "alpine:latest",
"name": "cont4",
"restartCount": 0,
"driver": "overlay",
"platform": "linux",
"hostsPath": "",
"resolvConfPath": "",
"logPath": "/var/lib/k3/containers/00c3e3bb4438b17a/logs/K3.log",
"execLogPath": "/var/lib/k3/containers/00c3e3bb4438b17a/log.jsonl",
"mountLabel": "",
"processLabel": "",
"appArmorProfile": "",
"config": {
"hostname": "umoci-default",
"domainname": "",
"user": {
"uid": 0,
"gid": 0
},
"attachStdin": false,
"attachStdout": true,
"attachStderr": true,
"tty": false,
"openStdin": false,
"stdinOnce": false,
"env": [
"PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
"TERM=xterm",
"HOME=/root"
],
"cmd": [
"/bin/sh",
"-c",
"/bin/sh /ikigai.sh >> /mnt/K3/K3.log 2>&1;"
],
"image": "alpine:latest",
"workingDir": "/",
"labels": {},
"stopSignal": "SIGTERM",
"volumes": []
},
"hostConfig": {
"resources": {
"memory": {
"limit": 536870912,
"reservation": 556870912,
"swap": 546870912,
"disableOOMKiller": false
},
"cpu": {
"shares": 1024,
"quota": 1000000,
"period": 500000,
"cpus": ""
}
}
},
"mounts": [
{
"destination": "/proc",
"type": "proc",
"source": "proc"
},
{
"destination": "/dev",
"type": "tmpfs",
"source": "tmpfs",
"options": [
"nosuid",
"strictatime",
"mode=755",
"size=65536k"
]
},
{
"destination": "/dev/pts",
"type": "devpts",
"source": "devpts",
"options": [
"nosuid",
"noexec",
"newinstance",
"ptmxmode=0666",
"mode=0620"
]
},
{
"destination": "/dev/shm",
"type": "tmpfs",
"source": "shm",
"options": [
"nosuid",
"noexec",
"nodev",
"mode=1777",
"size=65536k"
]
},
{
"destination": "/dev/mqueue",
"type": "mqueue",
"source": "mqueue",
"options": [
"nosuid",
"noexec",
"nodev"
]
},
{
"destination": "/sys/fs/cgroup",
"type": "bind",
"source": "/sys/fs/cgroup/cont4",
"options": [
"rbind",
"nosuid",
"noexec",
"nodev",
"ro"
]
},
{
"destination": "/etc/resolv.conf",
"type": "bind",
"source": "/etc/resolv.conf",
"options": [
"rbind"
]
},
{
"destination": "/mnt/K3",
"type": "bind",
"source": "/var/lib/k3/containers/00c3e3bb4438b17a/logs",
"options": [
"rbind"
]
}
],
"networkSettings": {
"networks": [
{
"network": "kb0",
"IPv4Address": "192.168.100.2/24",
"MacAddress": "02:C3:E3:BB:44:38"
}
]
},
"capabilities": {
"bounding": [
"CAP_AUDIT_CONTROL",
"CAP_AUDIT_READ",
....
],
"effective": [
],
"inheritable": [
],
"permitted": [
],
"ambient": [
]
},
"namespaces": [
{
"type": "pid"
},
{
"type": "ipc"
},
{
"type": "uts"
},
{
"type": "mount"
},
{
"type": "user"
},
{
"type": "network"
}
],
"bundlePath": "/var/lib/k3/overlays/00c3e3bb4438b17a"
}
}
وضعیت پاسخ (Status Codes)
| کد | معنی |
|---|---|
200 OK | درخواست با موفقیت انجام شد |
400 Bad Request | پارامترها اشتباه هستند یا ناقص |
404 Not Found | کانتینر موجود نباشد |
500 Internal Server Error | خطای داخلی سرور در پردازش درخواست |
نکات مهم
بخش information 🧠
| فیلد | توضیح |
|---|---|
| id | شناسهی ۱۶ کاراکتری یکتا برای هر کانتینر. |
| created | زمان ساخت کانتینر (زمان استارت نیست). |
| path | مسیر دستور اجرایی اصلی داخل کانتینر. |
| args | آرگومانهای دستور اجرایی (به صورت لیست). |
| image | ایمیجی که کانتینر بر اساس آن ساخته شده است. |
| name | نام یونیک کانتینر. |
| restartCount | تعداد دفعات ریستارت شدن کانتینر تا کنون. |
| driver | در سامانههای کانتینری مثل داکر این فیلد نوع storageDriver (مثل overlay2, aufs) که برای مدیریت فایل سیستم کانتینر استفاده میشود را مشخص میکند. (درحال توسعه) |
| platform | نشاندهندهی معماری سختافزار (مثلاً linux/amd64 یا linux/arm64) و سیستمعامل کانتینر است. در k3 هنوز پشتیبانی نشده ولی معمولاً در مولتی-پلتفرم مهم است. (درحال توسعه) |
| hostsPath | مسیر فایل /etc/hosts که برای حل نامها (name resolution) در داخل کانتینر استفاده میشود. در k3 فعلاً ساپورت نشده ولی معمولاً برای شخصیسازی name resolution در کانتینر مفید است. |
| resolvConfPath | مسیر فایل resolv.conf که برای تنظیم DNS داخل کانتینر استفاده میشود. فعلاً در k3 مدیریت نشده ولی در سیستمهای مشابه نقش کلیدی برای DNS دارد. |
| logPath | مسیر لاگ فایلهای کانتینر. |
| execLogPath | مسیر لاگ اجرای دستورات داخل کانتینر. |
| mountLabel | یک label امنیتی که توسط SELinux برای کنترل دسترسی فایلهای مونت شده به کانتینر استفاده میشود. در k3 پیادهسازی نشده ولی در سیستمهای امن مثل ردهت مهم است. |
| processLabel | مشابه mountLabel ولی برای کنترل دسترسی پردازههای داخل کانتینر با استفاده از SELinux. فعلاً در k3 کاربرد ندارد. (درحال توسعه) |
| appArmorProfile | پروفایل امنیتی AppArmor. |
| bundlePath | مسیر فایل سیستم کانتینر. |
| namespaces | لیست نیم اسپیسهای ایزوله شده کانتینر. |
| capabilities | دسترسیهای کرنلی کانتینر. |
| networkSettings | شامل جزئیات شبکه کانتینر مثل IP، MAC، و bridgeهای متصل شده میشود. در k3 هنوز فعال نیست ولی اگر فعال شود میتواند مدیریت دقیق شبکهی کانتینر را بدهد. |
| mounts | لیست مسیرهای مونت شده از هاست به کانتینر. |
| hostConfig | منابع اختصاص یافته به کانتینر (قبل از آپدیت). |
بخش state 🖥️
| فیلد | توضیح |
|---|---|
| status | وضعیت کانتینر: running, created, paused, stopped. |
| running | اگر true باشد، کانتینر در حال اجرا است. |
| paused | اگر true باشد، کانتینر در حالت pause است. |
| restartPolicy | سیاست ریستارت کانتینر. |
| restartWindow | حداکثر تعداد ریستارت مجاز در بازهی زمانی. |
| maxAttempts | حداکثر دفعات مجاز برای ریستارت. |
| oomKilled | در حال توسعه. (آیا کانتینر به دلیل مصرف حافظه زیاد کشته شده؟) |
| failed | اگر true باشد، کانتینر به خطا خورده است. |
| exitCode | کد خروجی کانتینر. |
| pid | شناسهی پردازهی اصلی کانتینر. |
| error | در حال توسعه. متن خطای کانتینر. |
| startedAt | زمان آخرین استارت کانتینر. |
بخش config 💾
| فیلد | توضیح |
|---|---|
| hostname | نام هاست داخل کانتینر. |
| domainname | دومین نیم کانتینر. |
| user | یوزر اجراکننده کانتینر (uid, gid). |
| attachStdout | اگر فعال باشد یعنی میتوان خروجی زندهی کانتینر را به کنسول وصل کرد. در k3 هنوز فعال نشده. |
| attachStderr | مشابه attachStdout ولی برای خروجی خطاهای کانتینر. در k3 فعلاً در دسترس نیست. |
| tty | اگر فعال باشد یعنی یک شبیهساز ترمینال (TTY) به کانتینر وصل شده. این حالت در کانتینرهایی که به صورت interactive استفاده میشوند (مثل bash) کاربرد دارد. در k3 هنوز استفاده نشده. |
| openStdin | اگر true باشد، یعنی ورودی کانتینر همیشه باز میماند تا داده جدید دریافت کند. فعلاً در k3 عملیاتی نیست. |
| stdinOnce | اگر فعال باشد، کانتینر فقط یک بار ورودی دریافت میکند و بعد از آن قطع میشود. در k3 هنوز ساپورت نشده. |
| attachStdin | اگر فعال باشد یعنی میتوان ورودی زنده (استاندارد ورودی) به کانتینر وصل کرد. مثل وقتی که با docker exec -it وارد یک کانتینر میشوی. در k3 فعلاً کاربردی ندارد. |
| env | متغیرهای محیطی کانتینر. |
| cmd | دستور اجرایی کانتینر. |
| image | ایمیج مورد استفاده. |
| workingDir | دایرکتوری کاری پیشفرض. |
| labels | key-value pairهایی هستند که میتوان برای اضافه کردن متادیتا به کانتینر استفاده کرد. مثلاً برای مدیریت، فیلتر کردن و سازماندهی کانتینرها. در k3 هنوز فعال نیست ولی معمولاً در سیستمهای بزرگ کاربرد دارد. |
| stopSignal | سیگنال پیشفرض برای توقف کانتینر. |
| macAddress | مک آدرس کانتینر. |
| volumes | والیومهای متصل شده. |
⚙️ خطاهای رایج
| خطا | توضیح |
|---|---|
containerNotFound | زمانی که کانتینر وجود نداشته باشد |