不要直接sudo apt-get install docker,由于容器docker根本就不是这个。git
若是已经中招了,使用apt-get remove docker删除,不然后患无穷。
github
之前的不少教程都是安装Docker.IO的,但原来的版本已通过时了,须要完全清除,不然也会招来一大堆问题。docker
清除办法:
shell
sudo apt-get remove docker.io find / -name "*docker.io*"
而后将列出的文件所有删除, rm xxx。ubuntu
这里是安装的正常步骤,经验证可行:
bash
apt-get update apt-get install apt-transport-https apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 36A1D7869245C8950F966E92D8576A8BA88D21E9 bash -c "echo deb https://get.docker.io/ubuntu docker main > /etc/apt/sources.list.d/docker.list" apt-get update apt-get install lxc-docker
而后是运行,可使用下面的命令启动docker的本机服务(跳过阿里云172网段设置的一个大坑-鄙视一下。参看知乎:https://www.zhihu.com/question/24863856,不如我这里方法好使。感兴趣的能够直接运行docker -d,也许人品好...):
服务器
docker --bip 192.168.100.1/24 -d & #而后就能够(注意必定要加上sudo): sudo docker info sudo docker images sudo docker ps
注意:网络
上面的docker.io也属于较老的版本,从官网安装的docker-py等运行会出现Server版本不匹配的错误。ssh
最新的版本是docker-engine。不过,按照官网的安装是没法启动Server的,安装最新版用这里的方法:curl
wget -qO- https://get.docker.com/ | sh
若是上面的不能成功,尝试:
#wget -c参数支持断点续传,网络很差断线时从新运行便可。 wget -c https://get.docker.com/ -O docker-setup.sh sudo chmod +x docker-setup.sh sudo ./docker-setup.sh
可是,按照提示的docker daemon方法在阿里云仍然没法正常启动(报出大量不明就里的错误)。
主要由于缺省的网段被阿里云系统预分配占用了,手动分配便可:
docker --bip 192.168.100.1/24 daemon &
而后基本上就都ok了,docker-py也可使了。
目前的即将发布的版本是1.11,已经能够下载测试版试用(建议将curl换为wget -c,支持断点续传):
# To install, run the following command as root: curl -sSL -O https://test.docker.com/builds/Linux/x86_64/docker-1.11.0-rc4.tgz # wget -c https://test.docker.com/builds/Linux/x86_64/docker-1.11.0-rc4.tgz sudo tar -zxf docker-1.11.0-rc4.tgz # Then start docker in daemon mode: sudo /usr/local/bin/docker daemon
要作主控机器的话,须要安装docker-machine。这个是官方的(注意里面的v.0.7.0-rc2是版本号):
curl -L https://github.com/docker/machine/releases/download/ v0.7.0-rc3/docker-machine-`uname -s`-`uname -m` \ >/usr/local/bin/docker-machine && \ chmod +x /usr/local/bin/docker-machine
若是curl失败,参考下面的脚本(Ubuntu):
wget https://github.com/docker/machine/releases/download/ v0.7.0-rc3/docker-machine-Linux-x86_64 -O docker-machine sudo cp docker-machine /usr/local/bin/docker-machine sudo chmod +x /usr/local/bin/docker-machine
但这个的文件是存在Amazon上的,Aliyun上居然访问不了!!!
先抓到本地(有的地方须要papapa):
# 注意:这里不能使用`uname -s`-`uname -m`这种形式,由于下载机可能与目标系统不一致。 wget -c https://github.com/docker/machine/releases/download/ \ v0.7.0-rc3/docker-machine-Linux-x86_64 \ -O docker-machine
而后上传:
scp ./docker-machine-Linux-x86_64 root@123.123.123.123(本身的服务器地址)
ssh进去,运行。
cp ./docker-machine-Linux-x86_64 /usr/local/bin/docker-machine chmod +x /usr/local/bin/docker-machine
运行docker-machine,OK!
wget https://github.com/docker/compose/releases/download/1.7.0-rc2/docker-compose-`uname -s`-`uname -m` -O docker-compose cp docker-compose /usr/local/bin/docker-compose chmod +x /usr/local/bin/docker-compose
若是不能下载,参照上面4.的办法处理。