যেহেতু আমি ডকারকে সবেমাত্র 1.1.0 এ আপডেট করেছি আমি পেয়েছি:
ডেমনের ত্রুটির প্রতিক্রিয়া: ক্লায়েন্ট এবং সার্ভারের একই সংস্করণ নেই (ক্লায়েন্ট: 1.13, সার্ভার: 1.12)
আপনি এই স্থির করা কি জানেন কিভাবে?
আমি 1.0.1 এ ফিরে এসেছি এবং সবকিছু আবার কাজ করে।
যেহেতু আমি ডকারকে সবেমাত্র 1.1.0 এ আপডেট করেছি আমি পেয়েছি:
ডেমনের ত্রুটির প্রতিক্রিয়া: ক্লায়েন্ট এবং সার্ভারের একই সংস্করণ নেই (ক্লায়েন্ট: 1.13, সার্ভার: 1.12)
আপনি এই স্থির করা কি জানেন কিভাবে?
আমি 1.0.1 এ ফিরে এসেছি এবং সবকিছু আবার কাজ করে।
boot2docker( এটি ভবিষ্যতের রেফারেন্সের জন্য)।
উত্তর:
দেখে মনে হচ্ছে বুট 2 ডকার ইনস্টল করার পরে আপনার ভিএম আপগ্রেড করতে হবে:
আপনি যদি বুট 2 ডকার 0.12 বা তার থেকে পরে আপগ্রেড করছেন তবে আপনি বুট 2 ডকার স্টপ অ্যান্ড অ্যান্ড বুট 2 ডকার && বুট 2 ডকার আপ ব্যবহার করে আপনার বিদ্যমান ভার্চুয়াল মেশিনটি আপডেট করতে পারেন - এবং আপনি আপনার বিদ্যমান ডেটা হারাবেন না।
( https://github.com/boot2docker/osx-installer/releases/tag/v1.1.0 )
An error occurred trying to connect: Get https://192.168.59.103:2376/v1.19/containers/json?all=1: x509: certificate is valid for 127.0.0.1, 10.0.2.15, not 192.168.59.103: /
boot2docker delete, তখন boot2docker initএবং এটি কাজ শুরু করে।
আপনি ডকার আপডেট করে থাকলে এটি ঘটতে পারে তবে পরিষেবাটি আরম্ভ করা হয়নি। তারপরে আপনি আপডেট ক্লায়েন্টের সাথে ডকার ডেমনের সাথে সংযোগ স্থাপনের চেষ্টা করবেন, যখন ডেমন (এটি ইতিমধ্যে আপডেটের আগে আগে চলছিল) এখনও পুরানো সংস্করণ চলছে।
এটি ঠিক করতে, পরিষেবাটি পুনরায় চালু করুন:
sysV init:
service docker restart
সিস্টেমড:
systemctl daemon-reload
systemctl restart docker
systemdএটা করতে সুপারিশ করা হয় systemctl daemon-reloadআগেsystemctl restart docker
আপনি যদি docker-machineস্থানীয় ভার্চুয়ালবক্স-ভিত্তিক মেশিনগুলি পরিচালনা করতে ব্যবহার করেন তবে সমাধানটি বুট 2 ডকারের মতোই সহজ:
docker-machine upgrade MACHINE_NAME
এটি docker-machineসর্বশেষতমটি ডাউনলোড করতে boot2docker.isoএবং এটিকে আপগ্রেড করা ভিএম-তে একটি নতুন মূল ফাইল সিস্টেম হিসাবে রাখতে বলছে।
যাইহোক, ভার্চুয়ালবক্স-ব্যাকড ডকার মেশিনটির মূল ফাইল সিস্টেমটি কেবল পঠনযোগ্যভাবে রয়েছে। এর অর্থ কোনও ম্যানুয়াল আপডেট মেশিন পুনরায় বুট থেকে বাঁচার পক্ষে এটি সম্ভব নয়। এটা আমার জন্য একটি বিস্ময় ছিল।
আমার কাছে বুট 2 ডকার, ডকার এবং ভার্চুয়াল বাক্সের সর্বশেষতম সংস্করণ ছিল কিন্তু এখনও এই বার্তাটি পাচ্ছি। মনে হচ্ছে দৌড়ানোটাই brew upgrade boot2dockerসেরা ধারণা নয়। চলমান অবস্থায় boot2docker upgrade, আমাকে পরিবেশের ভেরিয়েবলগুলির একটি গুচ্ছ সেট করতে বলা হয়েছিল এবং তারপরে এটি আমার পক্ষে কাজ করে worked
বুট 2 ডকার আমাকে এগুলি সেট করতে বলেছেন (শেষ লাইনগুলি দেখুন):
$ boot2docker upgrade
Latest release for boot2docker/boot2docker is v1.3.0
Downloading boot2docker ISO image...
Success: downloaded https://github.com/boot2docker/boot2docker/releases/download/v1.3.0/boot2docker.iso
to /Users/.../.boot2docker/boot2docker.iso
Waiting for VM and Docker daemon to start...
.........oooooooooooooo
Started.
Writing /Users/.../.boot2docker/certs/boot2docker-vm/ca.pem
Writing /Users/.../.boot2docker/certs/boot2docker-vm/cert.pem
Writing /Users/.../.boot2docker/certs/boot2docker-vm/key.pem
To connect the Docker client to the Docker daemon, please set:
export DOCKER_HOST=tcp://192.168.59.103:2376
export DOCKER_CERT_PATH=/Users/.../.boot2docker/certs/boot2docker-vm
export DOCKER_TLS_VERIFY=1
আপনার টার্মিনালে একবারে এই তিনটি লাইন কেটে পেস্ট করা সম্ভব।
সেগুলি সঠিক কিনা তা পরীক্ষা করতে:
$ env
আমি আরও সাম্প্রতিক ক্লায়েন্টের সাথে একটি ডকার সার্ভারকে জিজ্ঞাসা করার চেষ্টা করছিলাম:
আমার জন্য সমাধানটি ছিল কেবল:
export DOCKER_API_VERSION=1.21
তথ্যসূত্র: https://docs.docker.com/engine/references/commandline/cli/
এখানে সঠিক উত্তরটি খুব পুরানো (ডকার বুট 2 ডকারের নামকরণ করে ডকার মেশিনে এবং এর সাথে আরও কিছু কার্যকারিতা যুক্ত করেছেন) ।
যাইহোক আমি একই সমস্যার মুখোমুখি হয়েছি এবং আমাকে ঠিক করতে প্রায় 3 দিন সময় নিয়েছে :(
সমাধান এখানে
1) এর অবস্থানটি সন্ধান করুন boot2docker.iso
sudo find ~/ -name 'boot2docker.iso'
2) boot2docker.isoফাইলটি মুছে ফেলুন , এর ব্যাকআপ নেওয়ার পরে
/Users/{user}/.docker/machine/cache/boot2docker.iso
3) আপনার ডকার ভিএম মুছুন
docker-machine rm {default}
এটির পাশাপাশি এটি মুছে ফেলা উচিত:
/Users/{user}/.docker/machine/machines/default/boot2docker.iso
4) নতুন ডকার ভিএম তৈরি করুন
docker-machine create --driver virtualbox default
এটি একটি নতুন ডাউনলোড করবে boot2docker.iso প্রথমে এবং তারপরে এটি আপনার ভিএম তৈরি করতে ব্যবহার করবে।
এখন এটি ঠিক করা উচিত :)
আপনি যদি এখানে কোনও ত্রুটি পান তবে:
Running pre-create checks...
(mega-docker) No default Boot2Docker ISO found locally, downloading the latest release...
Error with pre-create check: "Get https://api.github.com/repos/boot2docker/boot2docker/releases/latest: dial tcp: lookup api.github.com on 192.168.0.1:53: read udp 192.168.0.103:53947->192.168.0.1:53: i/o timeout"
https://api.github.com/repos/boot2docker/boot2docker/releases/latest এboot2docker.iso গিয়ে ম্যানুয়ালি ফাইলটি ডাউনলোড করার চেষ্টা করুনhtml_url ফাইলটি ডাউনলোড করার জন্য বেছে নিন।
আপনি একবার ফাইলটি পেয়ে যান এবং ম্যানুয়ালি এটিতে রাখুন /Users/{user}/.docker/machine/cache/
অবশেষে এই কমান্ডটি পুনরায় রান করুন docker-machine create --driver virtualbox default
এটি আমার জন্য কাজ করেছে: এটি কেবল ভিএমকে নীচে নামিয়ে দেয়, মুছে ফেলে এবং পুনরায় তৈরি করে এবং আবার এটি শুরু করে। এটি শেলিনিটটি পুনরায় চালায় যাতে আপনার ENV ভেরিয়েবলগুলি যখন ফিরে আসে তখন সঠিক আইপি ঠিকানার সাথে সেট হয়ে যায়।
$ boot2docker poweroff && \
boot2docker delete && \
boot2docker init && \
boot2docker up
$ eval `boot2docker shellinit`
আমার সমাধানটি ছিল ভার্চুয়ালবক্সে ডকার ভিএম-এ একটি ক্লোজ> পাওয়ার অফ করা, এবং তারপরে কাইটেম্যাটিক পুনরায় চালু করা। এটি আমার জন্য এটি স্থির করে দিয়েছে।
যদি আপনি সেখানে এসেছিলেন Ansible ব্যবহার করুন: এবং boot2docker, এখানে সমাধান docker_api_version: autoযুক্তি
- name: Mongo data container
docker:
docker_api_version: auto
name: mongo-primary-dc
image: debian:wheezy
state: present
volumes:
- /data
আমি অনুমান করার কারণটি হ'ল যে উত্তর দ্বারা ব্যবহৃত ডকার-পাই মডিউলটি প্রায়শই উবুন্টু অ্যাপ-গেট সংগ্রহস্থল হিসাবে একই সংস্করণে থাকে না।
boot2docker। এটাও কি তোমার?