কীভাবে ডকার পাত্রে কোর ফাইল ডাম্প অক্ষম করবেন


13

আমার পিএইচপি কনটেইনার পিডিএফ উত্পন্ন করতে পুতুল চালায়। পিডিএফ ডকুমেন্ট তৈরি করে, এটি আমার ধারকটির ভিতরে দুটি কোর ডাম্প ফাইলও তৈরি করে। তারা আসলে কোথা থেকে এসেছে তা আমি নিশ্চিত নই।

হোস্ট / সার্ভারটি সেন্টোস 7।

আমি নিম্নলিখিতটি যাচাই করেছি:

  1. কোনও অ্যাপ্লিকেশন ত্রুটির লগ নেই, ব্রাউজারশট / পুতুল ত্রুটি ছাড়াই চলছে।
  2. কোনও ত্রুটি লগ পাওয়া যায়নি (যেমন সেগফল্ট) /var/log/messages

আমি কোর ডাম্পগুলি অক্ষম করার চেষ্টা করেছি

Https://linux-audit.com/:30:30-and-configure-core-dumps-work-on-linux/ এর কোর ডাম্প বিভাগ অক্ষম অনুসরণ করে , আমি করেছি:

  1. নিম্নলিখিত বিষয়বস্তু যুক্ত করা হচ্ছে /etc/security/limits.conf
* soft core 0
* hard core 0
  1. একটি অক্ষম-কোর্স-ডাম্প.শ তৈরি করেছেন: echo “ulimit -c 0 > /dev/null 2>&1” > /etc/profile.d/disable-coredumps.sh

  2. নিম্নলিখিত লিখিত সামগ্রী যুক্ত করা হয়েছে /etc/systemd/coredump.conf

[Coredump]

Storage=none
ProcessSizeMax=0
  1. এবং সার্ভার এবং ধারকটি পুনরায় বুট করুন

  2. আমি ulimit -c 0ধারকটির ভিতরে সেট করার চেষ্টা করেছি (আলপাইন)

উপরের কোন কৌশল আমার পক্ষে কাজ করে না। প্রতিবার পুতুল পিডিএফ উত্পন্ন করে সর্বদা নীচের মতো দুটি কোর ডাম্প ফাইল তৈরি করে:

core.131 core.52

মূল ফাইলগুলি দেখতে দেখতে:

কোর ডাম্প ফাইল সামগ্রী

কেউ কি আমাকে মূল ডাম্পগুলি অক্ষম করতে সহায়তা করতে পারে? অনেক ধন্যবাদ.


আমি মনে করি আপনাকে আপনার হোস্টের মূল ডাম্পটি অক্ষম রাখার দরকার নেই বা আপনার ধারকটিকে চালিত হিসাবে চালানো উচিত
লিনপাই

@ লিনপাই আমি ইতিমধ্যে লিনাক্স-অডিট . com/ … অনুসরণ করে হোস্টের মূল ডাম্পটি অক্ষম করেছি । হোস্ট এবং ধারক উভয় ক্ষেত্রেই কোর ডাম্পগুলি অক্ষম করার চেষ্টা করা হয়েছে। এদের কেউই কাজ করে না।
জনাথন

আপনি যদি এই কর্ডার্পগুলি অক্ষম করার পরিবর্তে এর মূল কারণটি সন্ধান করতে চান তবে আমি আপনাকে পপিটারে আরও সন্ধান করার পরামর্শ দিই। যেহেতু কুকুরছানা নোডেজ ব্যবহার করে এবং কোরেডাম্পে নোডেজ মডিউল / লিব থাকে তাই এটি মনে হয় যে নোডেজ প্রক্রিয়াটির মতো একটি ত্রুটি ছিল। কিছু ডিবাগিং অপশন রয়েছে যা ব্যবহার করা যেতে পারে যেমন পুতুলির হেডলেস মোড অক্ষম করার মাধ্যমে ভার্বোজ লগিং সক্ষম করা হয়। আরও তথ্যের জন্য এখানে একটি লিঙ্ক রয়েছে: github.com/puppeteer/puppeteer#debugging-tips
আহসবিনী

উদাহরণস্বরূপ ডকার ফাইলটিতে /etc/security/limits.conf /etc/systemd/coredump.conf সম্পাদনা করার চেষ্টা করুন যা চিত্রটি কীভাবে তৈরি করবেন তা বর্ণনা করে
রিয়্যাবচেনকো আলেকজান্ডার

অহসবিনি অদ্ভুত বিষয়টি হ'ল পিডিএফগুলি পুরোপুরি উত্পন্ন হয়। আমি ডিবাগ সক্ষম করেছিলাম তবে দরকারী কিছু খুঁজে পেলাম না। শুধু কোর ডাম্পস।
জোনাথন

উত্তর:


3

আপনাকে বিকল্পটি দিয়ে আপনার ধারকটি শুরু করতে হবে --ulimit core=0সোরডাম্পগুলি অক্ষম আপনাকে ধারকটি শুরু করতে হবে।

তথ্যসূত্র: https://docs.docker.com/engine/references/commandline/run/#set-ulimits-in-container---ulimit

উদাহরণ

হোস্টে, অস্থায়ীভাবে /tmpযাচাইয়ের জন্য করড্র্যাম্পের পথটি সেট করুন:

echo '/tmp/core.%e.%p' | sudo tee /proc/sys/kernel/core_pattern

যথারীতি একটি ধারক শুরু করুন এবং একটি কোর ডাম্পকে জোর করুন:

docker run --rm -it bash
(inside the container)
# yes > /dev/null &
# kill -SIGABRT $(pidof yes)
# ls /tmp
(shows core.yes.<pid>)

এখন, সাথে --ulimit core=0:

docker run --ulimit core=0 --rm -it bash
(inside the container)
# yes > /dev/null &
# kill -SIGABRT $(pidof yes)
# ls /tmp
(No entries)

উত্তরের জন্য ধন্যবাদ. আমি রচনা ব্যবহার করছি এবং 0 এ নরম এবং শক্ত সেট করে ulimit কনফিগারেশনের চেষ্টা করছি কিন্তু এখনও কাজ করছে না। ডকার কি oseulimit কোর = 0 রচনাটি সুরকারের ulimit 0 তে সেট করার মতো?
জোনাথন

আমি বিশ্বাস করি এটি entrypoint.shপিএইচপি অ্যাপ্লিকেশন শুরু করে একই কমান্ডে এটি যুক্ত করা উচিত
আহস্বিনী

2

ডকার জলাবদ্ধতার পরিষেবাতেও আমার এই সমস্যাটি রয়েছে এবং --ulimit কোর = 0 ঝাঁকনি পরিষেবাতে কাজ করে না আমি কমান্ডের নীচে ব্যবহার করেছি এবং ডকার সুইর্ম সার্ভিসে আমার জন্য কাজ করেছি!

sysctl -w kernel.core_ Pattern = / dev / নাল


ধন্যবাদ! এটিও কৌশলটি করে।
জোনাথন
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.