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


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.