ডকার ত্রুটি: ক্লায়েন্ট এবং সার্ভারের একই সংস্করণ নেই


84

যেহেতু আমি ডকারকে সবেমাত্র 1.1.0 এ আপডেট করেছি আমি পেয়েছি:

ডেমনের ত্রুটির প্রতিক্রিয়া: ক্লায়েন্ট এবং সার্ভারের একই সংস্করণ নেই (ক্লায়েন্ট: 1.13, সার্ভার: 1.12)

আপনি এই স্থির করা কি জানেন কিভাবে?

আমি 1.0.1 এ ফিরে এসেছি এবং সবকিছু আবার কাজ করে।


আমারও একই সমস্যা, ব্যবহার হচ্ছে boot2docker। এটাও কি তোমার?
সিগমাস

4
হ্যাঁ আমি বুট 2 ডকারও ব্যবহার করছি। ডকার আনইনস্টল করার পরে আবার এটি ইনস্টল করার পরে ('পুনরায় ইনস্টল' নয়) এর কাজটি আবার শুরু করুন। ব্রিউ আনইনস্টল ডকার &&
ব্রু

4
এটি এটিকে পরিষ্কার করার জন্য আপনার শিরোনাম / প্রশ্নটি সম্পাদনা করা উচিত boot2docker( এটি ভবিষ্যতের রেফারেন্সের জন্য)।
সিগমাস

নির্লজ্জ প্লাগ: একটি বন্ধু এবং আমি স্বল্প মেয়াদে এটিকে সাহায্য করার জন্য ডকার ভার্সন ম্যানেজার নামে একটি সরঞ্জাম একসাথে রেখেছি ।
কাইল কেলি

উত্তর:


127

দেখে মনে হচ্ছে বুট 2 ডকার ইনস্টল করার পরে আপনার ভিএম আপগ্রেড করতে হবে:

আপনি যদি বুট 2 ডকার 0.12 বা তার থেকে পরে আপগ্রেড করছেন তবে আপনি বুট 2 ডকার স্টপ অ্যান্ড অ্যান্ড বুট 2 ডকার && বুট 2 ডকার আপ ব্যবহার করে আপনার বিদ্যমান ভার্চুয়াল মেশিনটি আপডেট করতে পারেন - এবং আপনি আপনার বিদ্যমান ডেটা হারাবেন না।

( https://github.com/boot2docker/osx-installer/releases/tag/v1.1.0 )


4
এছাড়াও আনইনস্টল ডকার
অ্যান্ড&

4
আপনাকে আর ডকার কমান্ড লাইন সরঞ্জামের ব্রিউ সংস্করণ ব্যবহার করার দরকার নেই। বুট 2 ডকার সঠিক সংস্করণ সরবরাহ করে।
আবেল মিয়াও

থাকার 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: /
আইন তোহভরি

4
আমিও এই শংসাপত্র ইস্যুতে দৌড়েছি। আমি দৌড়েছি boot2docker delete, তখন boot2docker initএবং এটি কাজ শুরু করে।
ডিন ওয়্যাম্পলার

4
স্বল্পমেয়াদে এটির জন্য সহায়তার জন্য আমি এবং এক বন্ধু ডকার ভার্সন ম্যানেজার নামে একটি সরঞ্জাম একসাথে রেখেছি ।
কাইল কেলি 26'15

19

আপনি ডকার আপডেট করে থাকলে এটি ঘটতে পারে তবে পরিষেবাটি আরম্ভ করা হয়নি। তারপরে আপনি আপডেট ক্লায়েন্টের সাথে ডকার ডেমনের সাথে সংযোগ স্থাপনের চেষ্টা করবেন, যখন ডেমন (এটি ইতিমধ্যে আপডেটের আগে আগে চলছিল) এখনও পুরানো সংস্করণ চলছে।

এটি ঠিক করতে, পরিষেবাটি পুনরায় চালু করুন:

sysV init:

service docker restart

সিস্টেমড:

systemctl daemon-reload

systemctl restart docker


4
জন্য systemdএটা করতে সুপারিশ করা হয় systemctl daemon-reloadআগেsystemctl restart docker
baldrs

সবচেয়ে সহজ উত্তরটি সেরা উত্তর বলে মনে হচ্ছে :)
দারিস

13

আপনি যদি docker-machineস্থানীয় ভার্চুয়ালবক্স-ভিত্তিক মেশিনগুলি পরিচালনা করতে ব্যবহার করেন তবে সমাধানটি বুট 2 ডকারের মতোই সহজ:

docker-machine upgrade MACHINE_NAME

এটি docker-machineসর্বশেষতমটি ডাউনলোড করতে boot2docker.isoএবং এটিকে আপগ্রেড করা ভিএম-তে একটি নতুন মূল ফাইল সিস্টেম হিসাবে রাখতে বলছে।

যাইহোক, ভার্চুয়ালবক্স-ব্যাকড ডকার মেশিনটির মূল ফাইল সিস্টেমটি কেবল পঠনযোগ্যভাবে রয়েছে। এর অর্থ কোনও ম্যানুয়াল আপডেট মেশিন পুনরায় বুট থেকে বাঁচার পক্ষে এটি সম্ভব নয়। এটা আমার জন্য একটি বিস্ময় ছিল।


12

আমার কাছে বুট 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

11

আমি আরও সাম্প্রতিক ক্লায়েন্টের সাথে একটি ডকার সার্ভারকে জিজ্ঞাসা করার চেষ্টা করছিলাম:

  • সার্ভারের এপিআই সংস্করণ: 1.21
  • ক্লায়েন্টের এপিআই সংস্করণ 1.22

আমার জন্য সমাধানটি ছিল কেবল:

export DOCKER_API_VERSION=1.21

তথ্যসূত্র: https://docs.docker.com/engine/references/commandline/cli/


4
ধন্যবাদ! এটি আমার সমস্যার সমাধান করেছে
মাজিকে

4
ডকার প্রোটোকলটি সংস্করণযুক্ত এবং পশ্চাদপটে সামঞ্জস্যপূর্ণ হওয়া উচিত, উত্তরের পরিমাণটি (বোধগম্যভাবে) বিভিন্ন পরিস্থিতিতে ডকারকে আপগ্রেড করার জন্য বিভিন্ন ধরণের দৈর্ঘ্যে যেতে পারে এমন উত্তরগুলি প্রদানের সাথে অবশ্যই সঠিকভাবে ডকুমেন্ট করা উচিত নয় বা যথেষ্ট পরিমাণে দৃশ্যমান হতে হবে ...
মার্সেলো রোমানি

3

এখানে সঠিক উত্তরটি খুব পুরানো (ডকার বুট 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


2

আমার পক্ষে কাজ করা একমাত্র প্রক্রিয়াটি হ'ল এবং এটি "সুডো সার্ভিস ডকার স্টার্ট" দিয়ে শুরু করা।


2

আমার জন্য কাজ করা একমাত্র জিনিসটি ভার্চুয়ালবক্স থেকে বুট 2 ডকার চিত্রটি সরিয়ে ~/.boot2dockerফোল্ডারটিকে পুরোপুরি মুছে ফেলা এবং অবশেষে boot2docker initআবার চলছিল ।


1

বুট 2 ডকার মোছা

বুট 2 ডকার ইআর

আমার জন্য কাজ। অবশ্যই আগে এবং পরে ডিমনটি থামান / শুরু করুন।


1

এটি আমার জন্য কাজ করেছে: এটি কেবল ভিএমকে নীচে নামিয়ে দেয়, মুছে ফেলে এবং পুনরায় তৈরি করে এবং আবার এটি শুরু করে। এটি শেলিনিটটি পুনরায় চালায় যাতে আপনার ENV ভেরিয়েবলগুলি যখন ফিরে আসে তখন সঠিক আইপি ঠিকানার সাথে সেট হয়ে যায়।

$ boot2docker poweroff && \
    boot2docker delete && \
    boot2docker init && \
    boot2docker up
$ eval `boot2docker shellinit`

0

আমার কাছে বুট 2 ডকারের সর্বশেষতম সংস্করণ ছিল (v1.7.1) এবং ক্লায়েন্ট সার্ভারে অমিল ত্রুটি পেয়েছে। তারপরে আমি কেবল দৌড়ে এসেছি boot2docker upgradeএবং এটি সমস্যার সমাধান করেছে।


0

আমার সমাধানটি ছিল ভার্চুয়ালবক্সে ডকার ভিএম-এ একটি ক্লোজ> পাওয়ার অফ করা, এবং তারপরে কাইটেম্যাটিক পুনরায় চালু করা। এটি আমার জন্য এটি স্থির করে দিয়েছে।


0

আমি দেখতে পাচ্ছি যে ডুকার.ইও ওয়েবসাইটটিতে থাকা সংস্করণটির সাথে তুলনা করা পুরানো সংস্করণটি পুরানো। সুতরাং আমি মনে করি সর্বোত্তম উপায় হ'ল ওয়েবসাইটে গিয়ে ইনস্টল ফাইলটি ডাউনলোড করুন।


0

উত্তরযোগ্য উত্তর:

যদি আপনি সেখানে এসেছিলেন 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

আমি অনুমান করার কারণটি হ'ল যে উত্তর দ্বারা ব্যবহৃত ডকার-পাই মডিউলটি প্রায়শই উবুন্টু অ্যাপ-গেট সংগ্রহস্থল হিসাবে একই সংস্করণে থাকে না।

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