ওসিআই পাত্রে সিস্টেম চালিত সার্ভিস চালু করুন (রান্ক)


0

বর্তমানে, আমি আরএনইসি কনটেইনারের মধ্যে সিস্টেমেড সার্ভিস (অ্যাভিহি-ডেমন) চালু করার চেষ্টা করছি এবং আমার সমস্ত প্রচেষ্টা ব্যর্থ হয়েছিল। আমি একই টাস্কের জন্য কিন্তু ডকার সমাধান এবং আরও একটির জন্য বেশ কয়েকটি নিবন্ধের মুখোমুখি হয়েছি । কারও কি একই কাজটি নিয়ে সফল অভিজ্ঞতা আছে?

এটি আমার কনফিগারেশন

{
"ociVersion": "1.0.0-rc1",
"platform": {
    "os": "linux",
    "arch": "arm"
},
"process": {
    "terminal": false,
    "user": {
        "uid": 0,
        "gid": 0
    },
    "args": [
           "/bin/systemctl", "start", "avahi-daemon"
    ],
    "env": [
        "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
        "TERM=xterm"
    ],
    "cwd": "/",
    "capabilities": {
            "bounding": [
                    "CAP_AUDIT_WRITE",
                    "CAP_KILL",
                    "CAP_NET_RAW",
                    "CAP_SYS_ADMIN",
                    "CAP_NET_BIND_SERVICE"
            ],
            "effective": [
                    "CAP_AUDIT_WRITE",
                    "CAP_KILL",
                    "CAP_NET_RAW",
                    "CAP_SYS_ADMIN",
                    "CAP_NET_BIND_SERVICE"
            ],
            "inheritable": [
                    "CAP_AUDIT_WRITE",
                    "CAP_KILL",
                    "CAP_NET_RAW",
                    "CAP_SYS_ADMIN",
                    "CAP_NET_BIND_SERVICE"
            ],
            "permitted": [
                    "CAP_AUDIT_WRITE",
                    "CAP_KILL",
                    "CAP_NET_RAW",
                    "CAP_SYS_ADMIN",
                    "CAP_NET_BIND_SERVICE"
            ],
            "ambient": [
                    "CAP_AUDIT_WRITE",
                    "CAP_KILL",
                    "CAP_NET_RAW",
                    "CAP_SYS_ADMIN",
                    "CAP_NET_BIND_SERVICE"
            ]
    },
    "rlimits": [
        {
            "type": "RLIMIT_NOFILE",
            "hard": 1024,
            "soft": 1024
        }
    ],
    "noNewPrivileges": true
},
"root": {
    "path": "rootfs",
    "readonly": false
    },
"hostname": "runc",
"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",
            "gid=5"
        ]
    },
    {
        "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",
        "type": "sysfs",
        "source": "sysfs",
        "options": [
            "nosuid",
            "noexec",
            "nodev",
            "ro"
        ]
    },
    {
        "destination": "/sys/fs/cgroup",
        "type": "cgroup",
        "source": "cgroup",
        "options": [
            "ro"
        ]
    }
],
"linux": {
    "resources": {
        "devices": [
            {
                "allow": false,
                "access": "rwm"
            }
        ]
    },
    "namespaces": [
        {
            "type": "network"
        },
        {
            "type": "ipc"
        },
        {
            "type": "uts"
        },
        {
            "type": "mount"
        }
    ],
    "maskedPaths": [
        "/proc/kcore",
        "/proc/latency_stats",
        "/proc/timer_stats",
        "/proc/sched_debug"
    ],
    "readonlyPaths": [
        "/proc/asound",
        "/proc/bus",
        "/proc/fs",
        "/proc/irq",
        "/proc/sys",
        "/proc/sysrq-trigger"
    ]
}

এই কনফিগার ফাইলটি একটি ত্রুটি প্রকাশ করে: "বাসের সাথে সংযোগ করতে ব্যর্থ: এ জাতীয় কোনও ফাইল বা ডিরেক্টরি নেই"

আমার প্রচেষ্টার সময় আমি চেষ্টা করেছি:

  1. ধারকগুলিতে ক্ষমতাগুলি CAP_SYS_ADMIN বরাদ্দ করুন;
  2. ধারক প্রারম্ভকালে "/ sbin / init" বাইনারি কার্যকর করুন এবং একটি ত্রুটি পেয়েছে: "স্পন করার জন্য বিকল্প টেলিনাইট প্রয়োগকরণ খুঁজে পাওয়া যায় নি" " ;
  3. Init ফাইলটি "/ lib / systemd / systemd" এর প্রতীকী লিঙ্ক, সুতরাং আমি এই স্ক্রিপ্টটি সরাসরি ব্যবহার করার চেষ্টা করেছি এবং একটি ত্রুটিও পেয়েছি: "ব্যবহারকারী উদাহরণ হিসাবে চালানোর চেষ্টা করা হলেও সিস্টেমটি সিস্টেমড দিয়ে বুট করা যায় নি system । "

উত্তর:


0

সিস্টেমেড পরিষেবাদি এককভাবে চলমান না - আপনি কেবল তখনই সেগুলি শুরু করতে পারেন যদি আপনার পিড 1 (init) সিস্টেমড থাকে। পাত্রে, এর জন্য আপনার ইতিমধ্যে যা আছে তা ছাড়াও একটি পিড নেমস্পেস ব্যবহার করা দরকার।

(অন্য কথায়, সিস্টেমেটেক্টল আসলে সেগুলি। সেবার ফাইলগুলি পড়তে এবং চালায় না - এটি কেবল পিড 1 কে অনুরূপ ডেমন শুরু করতে বলে))

সাধারণভাবে, আমি বলতে চাই আপনার runC সেটআপ ইতিমধ্যে সদৃশ systemd হল এর বিল্ট-ইন বৈশিষ্ট্যের (ProtectHome =, CapabilityBoundingSet =, ইত্যাদি) তবে আপনি যদি না ডেডিকেটেড কন্টেইনারে ডেমন চালাতে চান, আপনি শুধুমাত্র দুটি বিকল্প আছে:

  1. একটি নতুন PID, নামস্থান সঙ্গে ধারক চালান, তার প্রধান প্রক্রিয়া হিসেবে systemd হল সঙ্গে, এবং আছে যে systemd হল উদাহরণস্বরূপ শুরু নির্মাণের জন্য Avahi-ডেমন। (সিস্টেমড-এনস্প্যান রানসির চেয়ে আরও ভাল কাজ করতে পারে))

  2. বিন্যাস / usr / বিন / avahi-daemon সরাসরি প্রবর্তন করতে, কনটেন্ট কনফিগার করুন systemctl বা avahi-daemon.service ফাইলগুলি জড়িত না করেই।


ঠিক আছে, আমি প্রথম রূপটি চেষ্টা করব (ডেডিকেটেড পিড নেমস্পেস সহ) এবং 12 ঘন্টা আপনাকে জানাবো। এনএসপ্যান সম্পর্কে, আমি আপনার সাথে একমত, তবে আমাকে রান্ক ব্যবহার করতে হবে।
ওলেক্সি বিডিনিচেনকো

0

সিস্টেমের জন্য কনফিগারেশন জেসন ফাইলের আমার সংস্করণটি রানের মধ্যে রয়েছে:

{
"ociVersion": "1.0.0-rc1",
"platform": {
    "os": "linux",
    "arch": "arm"
},
"process": {
    "terminal": false,
    "user": {
        "uid": 0,
        "gid": 0
    },
    "args": [
        "/sbin/init"
    ],
    "env": [
        "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
        "TERM=xterm"
    ],
    "cwd": "/",
    "capabilities": {
            "bounding": [
                    "CAP_KILL",
                    "CAP_CHOWN",
                    "CAP_SETGID",
                    "CAP_SETUID",
                    "CAP_NET_RAW",
                    "CAP_MAC_ADMIN",
                    "CAP_SYS_ADMIN",
                    "CAP_SYS_CHROOT",
                    "CAP_AUDIT_WRITE",
                    "CAP_NET_BIND_SERVICE"
            ],
            "effective": [
                    "CAP_KILL",
                    "CAP_CHOWN",
                    "CAP_SETGID",
                    "CAP_SETUID",
                    "CAP_NET_RAW",
                    "CAP_MAC_ADMIN",
                    "CAP_SYS_ADMIN",
                    "CAP_SYS_CHROOT",
                    "CAP_AUDIT_WRITE",
                    "CAP_NET_BIND_SERVICE"
            ],
            "inheritable": [
                    "CAP_KILL",
                    "CAP_CHOWN",
                    "CAP_SETGID",
                    "CAP_SETUID",
                    "CAP_NET_RAW",
                    "CAP_MAC_ADMIN",
                    "CAP_SYS_ADMIN",
                    "CAP_SYS_CHROOT",
                    "CAP_AUDIT_WRITE",
                    "CAP_NET_BIND_SERVICE"
            ],
            "permitted": [
                    "CAP_KILL",
                    "CAP_CHOWN",
                    "CAP_SETGID",
                    "CAP_SETUID",
                    "CAP_NET_RAW",
                    "CAP_MAC_ADMIN",
                    "CAP_SYS_ADMIN",
                    "CAP_SYS_CHROOT",
                    "CAP_AUDIT_WRITE",
                    "CAP_NET_BIND_SERVICE"
            ],
            "ambient": [
                    "CAP_KILL",
                    "CAP_CHOWN",
                    "CAP_SETGID",
                    "CAP_SETUID",
                    "CAP_NET_RAW",
                    "CAP_MAC_ADMIN",
                    "CAP_SYS_ADMIN",
                    "CAP_SYS_CHROOT",
                    "CAP_AUDIT_WRITE",
                    "CAP_NET_BIND_SERVICE"
            ]
    },
    "rlimits": [
        {
            "type": "RLIMIT_NOFILE",
            "hard": 1024,
            "soft": 1024
        }
    ],
    "noNewPrivileges": true
},
"root": {
    "path": "rootfs",
    "readonly": false
    },
"hostname": "runc",
"mounts": [
    {
        "destination": "/proc",
        "type": "proc",
        "source": "proc",
        "options": [
                "nosuid",
                "noexec",
                "nodev"
        ]
    },
    {
        "destination": "/dev",
        "type": "tmpfs",
        "source": "tmpfs",
        "options": [
            "nosuid",
            "strictatime",
            "mode=755"
        ]
    },
    {
        "destination": "/dev/pts",
        "type": "devpts",
        "source": "devpts",
        "options": [
            "nosuid",
            "noexec",
            "newinstance",
            "ptmxmode=0666",
            "mode=0620",
            "gid=5"
        ]
    },
    {
        "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",
        "type": "sysfs",
        "source": "sysfs",
        "options": [
            "nosuid",
            "noexec",
            "nodev"
        ]
    },
    {
        "destination": "/sys/fs/cgroup",
        "type": "bind",
        "source": "/sys/fs/cgroup",
        "options": [
            "rbind",
            "ro"
        ]
    }
],
"linux": {
    "resources": {
        "devices": [
            {
                "allow": false,
                "access": "rwm"
            }
        ]
    },
    "namespaces": [
        {
            "type": "pid"
        },
        {
            "type": "network"
        },
        {
            "type": "ipc"
        },
        {
            "type": "uts"
        },
        {
            "type": "mount"
        }
    ],
    "maskedPaths": [
        "/proc/kcore",
        "/proc/latency_stats",
        "/proc/timer_stats",
        "/proc/sched_debug"
    ],
    "readonlyPaths": [
        "/proc/asound",
        "/proc/bus",
        "/proc/fs",
        "/proc/irq",
        "/proc/sys",
        "/proc/sysrq-trigger"
    ]
}
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.