Docker Client server different. And there is no boot2docker - docker

My machine debian VM. It is not having boot2docker.
Docker was installed in it. I somehow updated docker.It is now giving me error of client and server of not same version.
by running "docker version" gives me this
Client version: 1.4.1
Client API version: 1.16
Go version (client): go1.3.3
Git commit (client): 5bc2ff8
OS/Arch (client): linux/amd64
FATA[0000] Error response from daemon: client and server don't have same version (client : 1.16, server: 1.15)
Thanks in advance.

If you do not have images or containers you wish to keep, remove and install again the latest docker version, with sudo apt-get remove lxc-docker && sudo apt-get purge lxc-docker && sudo apt-get install lxc-docker

One way to deal with this is dvm, the Docker Version Manager.
Clone it to, e.g. ~/.dvm:
git clone https://github.com/rgbkrk/dvm.git ~/.dvm
Then you need to source it directly or place it in your bash profile:
. ~/.dvm/dvm.sh
After this, install the version of docker you need:
$ dvm install 1.6.1
######################################################################## 100.0%
Now using Docker 1.6.1
You can swap between versions through dvm use VERSION:
$ dvm use 1.8.2
Now using Docker 1.8.2

Related

Can't install latest nginx version when using debian:jessie

I am trying to enable HTTP2 for my nginx and I have his dockerfile where I use debian:jessie docker image and I try to install nginx:
FROM debian:jessie
RUN apt-get update && apt-get install -y nginx
RUN nginx -v
Unfortunatelly, when running it, I see nginx version: nginx/1.6.2 and according to documentation HTTP2 is available on 1.9.5 or newer.
Why does it install 1.6.2 and not newer? And how can I update it?
Debian Jessie was released in 2015 and should no longer be used in any production system, as all kinds of support ended in 2020.
Usually, Debian does not provide upgraded versions of the packages they use. If you want to use more current packages, use either a more current version of Debian or a distribution with rolling releases

Version in "./docker-compose.yml" is unsupported

I have the following docker-compose.yml file
services:
containerA:
healthcheck:
test: "/build/docheck"
interval: "10s"
hostname: "containerA"
container_name: "containerA"
build:
dockerfile: "Dockerfile-5.6"
ports:
- "8081:8081"
version: "2.1"
When I try the following command: docker-compose up
it fails due to:
ERROR: Version in "./docker-compose.yml" is unsupported. You might be seeing this error because you're using the wrong Compose file version. Either specify a version of "2" (or "2.0") and place your service definitions under the services key, or omit the version key and place your service definitions at the root of the file to use version 1.
For more on the Compose file format versions, see https://docs.docker.com/compose/compose-file/
I have the following setting:
$> docker-compose --version
docker-compose version 1.8.0, build unknown
$> docker --version
Docker version 17.12.0-ce, build c97c6d6
$> uname -r
4.9.0-4-amd64
$> lsb_release -a
No LSB modules are available.
Distributor ID: Debian
Description: Debian GNU/Linux 9.3 (stretch)
Release: 9.3
Codename: stretch
I need to use version 2.1 because I am using the healthcheck. Any ideas why this is complaining?
adding this because i ran into the same error on Ubuntu.
For me, it had nothing to do with my Compose version despite what the error message says; i just had to run with sudo. so
sudo docker-compose up
Compose files Version 2.1 are supported by Docker Compose version 1.9.0+. And you have docker-compose version 1.8.0. To upgrade docker-compose you can run following commands:
If installed via apt-get:
sudo apt-get remove docker-compose
If installed via curl:
sudo rm /usr/local/bin/docker-compose
If installed via pip:
pip uninstall docker-compose
Then find the newest version on the release page at GitHub or by curling the API and extracting the version from the response using grep:
VERSION=$(curl --silent https://api.github.com/repos/docker/compose/releases/latest | grep -Po '"tag_name": "\K.*\d')
Finally, download to your $PATH-accessible location and set permissions:
DESTINATION=/usr/bin/docker-compose
sudo curl -L https://github.com/docker/compose/releases/download/${VERSION}/docker-compose-$(uname -s)-$(uname -m) -o $DESTINATION
sudo chmod 755 $DESTINATION
Following the link to details about versions, you'll find:
Version 2.1
An upgrade of version 2 that introduces new parameters only available
with Docker Engine version 1.12.0+. Version 2.1 files are supported by
Compose 1.9.0+.
https://docs.docker.com/compose/compose-file/compose-versioning/#version-21
You'll need to upgrade your docker-compose install to support the 2.1 file version. https://docs.docker.com/compose/install/
I was getting this error when I was trying the command docker-compose up with the docker compose version 3. Then I run the command to check the docker version docker version, which result the below output.
PS C:\SVenu\M4Movie\Api\Api> docker version
Client:
Version: 18.03.1-ce
API version: 1.37
Go version: go1.9.5
Git commit: 9ee9f40
Built: Thu Apr 26 07:12:48 2018
OS/Arch: windows/amd64
Experimental: false
Orchestrator: swarm
So my version is 18.03, which is the latest one for now. So I moved to this link to check the compose file version which supports this engine. Then changed my docker compose version to 3.6.
version: '3.6'
Everything was working fine after that.
Installation of a new version of Docker Compose helped me to fix this error. See official documentation.

Kubernetes - is there a repository for centos that works?

Kubernetes - is there a repository for centos that works? I don't want to use git clone, I would prefer to use rpm packages. Is this package compatible with the new docker 17-0XX if it exists?
I use below repo to install the kubernetes rpm in CentOS Linux release 7.3.1611 (Core)
add this repo
cat <<EOF > /etc/yum.repos.d/kubernetes.repo
[kubernetes]
name=Kubernetes
baseurl=http://yum.kubernetes.io/repos/kubernetes-el7-x86_64
enabled=1
gpgcheck=1
repo_gpgcheck=1
gpgkey=https://packages.cloud.google.com/yum/doc/yum-key.gpg
https://packages.cloud.google.com/yum/doc/rpm-package-key.gpg
EOF
Use this command to install
yum install -y kubelet kubectl kubernetes-cni kubeadm
my docker version.
Server:
Version: 1.12.6
API version: 1.24
Package version: docker-1.12.6-32.git88a4867.el7.centos.x86_64

How to install docker version 1.13.1 on Ubuntu 14.04

I have Ubuntu 14.04 machine with me and I want to install Docker engine version 1.13.1. I want this version because I want to try docker compose and swarms.
In one of my other machine, I have 1.12.3 available which do not support 'docker stack'. I checked following link for install.
https://docs.docker.com/cs-engine/1.13/#install-on-ubuntu-1404-lts-or-1604-lts
I was able to execute till step number 3. When I check the option to install specifically version 1.13.1 or 1.13.0, it gives me error that no such package is available.
$ sudo apt-get install docker-ce=1.13.1
Reading package lists... Done
Building dependency tree
Reading state information... Done
E: Unable to locate package docker-ce
$ sudo apt-cache madison docker-engine
N: Unable to locate package docker-engine
Please help me install 1.13.1.
Thank you.
Section install from repositories doesn't work well. It seem that version 1.13.xx is not in the repos.
Issue
apt-get remove docker-engine
and then follow section use packages
basically it says to download package from packages-list and then e.g. sudo dpkg -i docker-engine_1.13.1_cs8-0_ubuntu-xenial_amd64.deb

Build process failed: Unknown instruction: ARG

I'm trying my first Docker Hub automated build using a Dockerfile I have successfully built locally. On Docker Hub, it fails with this output
Cloning into 'brx9syjpjlk9bnmymmynwpl'...
Warning: Permanently added the RSA host key for IP address '104.192.143.2' to the list of known hosts.
KernelVersion: 3.13.0-40-generic
Os: linux
BuildTime: Mon Oct 12 05:37:18 UTC 2015
ApiVersion: 1.20
Version: 1.8.3
GitCommit: f4bf5c7
Arch: amd64
GoVersion: go1.4.2
Step 0 : FROM ubuntu:14.04
---> c4bea91afef3
Step 1 : ARG
Unknown instruction: ARG
I have found no way to pass a build-arg to the automated build, but my ARG's default value is sane, so that shouldn't matter.
Any ideas what the problem here is?
Docker Hub's automated build is still running Docker 1.8 and doesn't support ARG yet. There is a github issue tracking their upgrade to 1.9.
We encountered the same issue on Travis.ci. Upgrading to Docker Engine 1.9.0 worked for us.
We added this to our travis.yml
before_script:
- sudo apt-get update
- sudo apt-get install -y -q docker-engine=$DOCKER_ENGINE_VERSION

Resources