ডকার একটি বাহ্যিক পাত্রে লগ দেখুন


102

এমন কোনও পাত্রের লগটি আমি দেখতে পাচ্ছি যা থেকে বেরিয়ে এসেছে?

আমি ব্যবহার করে প্রস্থানিত কনটেইনারটির ধারক আইডি পেতে পারি docker ps -aতবে এটি যখন চলছিল তখন আমি কী জানতে চাই তা জানতে চাই।


উত্তর:


105

ব্যবহার docker logs। এটি থামানো ধারকগুলির জন্যও কাজ করে এবং ধারকটির মূল প্রক্রিয়াটির পুরো STDOUT এবং STDERR স্ট্রিমগুলি ক্যাপচার করে:

$ docker run -d --name test debian echo "Hello World"
02a279c37d5533ecde76976d7f9d1ca986b5e3ec03fac31a38e3dbed5ea65def

$ docker ps -a
CONTAINER ID    IMAGE     COMMAND        CREATED             STATUS                     PORTS               NAMES
49daa9d41a24    debian    "echo test"    2 minutes ago       Exited (0) 2 minutes ago                       test

$ docker logs -t test
2016-04-16T15:47:58.988748693Z Hello World

4
ডকার স্ট্যাকের জন্য যেখানে এটি প্রতি কয়েক সেকেন্ডে পুনরায় stack=s1 && c=$(task_id=$(docker stack ps "$stack" --filter desired-state=shutdown | tail -n +2 | head -n 1 | awk '{print $1}') && docker inspect --format '{{.Status.ContainerStatus.ContainerID}}' "$task_id") && docker logs "$c"শুরু হয়: কমান্ডের শুরুতে স্ট্যাকের নাম নির্দিষ্ট করা হয়।
— এক্স-ইয়ুরি

17

docker logs --tail=50 <container id> শেষ পঞ্চাশ লাইনের জন্য - যখন আপনার ধারক দীর্ঘকাল ধরে চলমান তখন কার্যকর।


4
@ হোয়াইটফ্রেট, আমি আপনার পরামর্শ দিয়ে উত্তরটি আপডেট করেছি। আসল উত্তরটি সম্পূর্ণ লগটি টেনে আনবে এবং স্থানীয়ভাবে এটি লেগেছে, একটি বড় লগ এবং একটি ধীর নেটওয়ার্কের সাথে খুব দীর্ঘ সময় নিয়েছে
— ম্যাথু

সতর্কতা ব্যবস্থাপকটিতে আমি এই বার্তাগুলির অনেকগুলি দেখতে পাচ্ছি তবে এগুলি সতর্কতার সাথে সম্পর্কিত কিনা তা নিশ্চিত নয়:
— অরনব বোস

10

বহিরাগত ধারক থেকে লগ অনুলিপি করতে আপনি নীচের কমান্ডটি ব্যবহার করতে পারেন:

docker cp container_name :path_of_file_in_container destination_path_locally

যেমন:

docker cp sravya:/tmp/report /root/mylog

6

ফাইলের শেষে স্ক্রলড কম, একটি প্রস্থানিত পাত্রে সরাসরি লগফিল দেখতে, আমি ব্যবহার করি:

docker inspect $1 | grep 'LogPath' | sed -n "s/^.*\(\/var.*\)\",$/\1/p" | xargs sudo less +G

./viewLogs.sh CONTAINERNAME হিসাবে চালান

এই পদ্ধতিটি docker logsভিত্তিক পদ্ধতির উপরে সুবিধা অর্জন করে যে ফাইলটি প্রবাহিত না করে সরাসরি খোলা হয়।

sudo প্রয়োজনীয়, যেহেতু লগপথ / ফাইল সাধারণত রুটের মালিকানাধীন থাকে

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