在Docker里运行Docker

自从把mac上的docker升级后,就无法访问Carina 了,总是报错,

client is newer than server (client API version: 1.24, server API version: 1.23)

这让我好是郁闷了一段时间,今天突发奇想,能不能在Docker里装个低版本的Docker呢?查找了下,发现原来官方已经帮做好了一个

screen-shot-2016-10-07-at-11-13-34-am

经过一番测试,成功运行了docker,

docker run -dit --privileged  --name docker docker:1.11.2-dind

然后把需要把下载的证书和配置文件复制到Docker容器里

docker cp alitrack.zip docker:/alitrack.zip

顺便说下,在Docker容器里运行

source docker.env

会报错如下,

sh: docker.env: line 4: syntax error: bad substitution

解决办法,安装并运行bash,在bash下运行source docker.env

apk update
apk add bash
bash 
source docker.env
docker info

Containers: 6
 Running: 4
 Paused: 0
 Stopped: 2
Images: 4
Server Version: swarm/1.2.3
Role: primary
Strategy: spread
Filters: health, port, containerslots, dependency, affinity, constraint
Nodes: 1
 9d2ac658-9157-472e-8c3f-39f835afcd11-n1: 172.99.79.198:42376
  └ ID: VNHZ:LZ2O:I35U:PT75:54CO:33XP:XJBQ:GIRU:U5SL:2NZ2:MIF7:YKPX
  └ Status: Healthy
  └ Containers: 6
  └ Reserved CPUs: 0 / 12
  └ Reserved Memory: 0 B / 4.2 GiB
  └ Labels: com.docker.network.driver.overlay.bind_interface=eth1, executiondriver=, kernelversion=3.18.21-20-rackos, operatingsystem=Debian GNU/Linux 7 (wheezy) (containerized), storagedriver=aufs
  └ UpdatedAt: 2016-10-07T03:02:39Z
  └ ServerVersion: 1.11.2
Plugins: 
 Volume: 
 Network: 
Kernel Version: 3.18.21-20-rackos
Operating System: linux
Architecture: amd64
CPUs: 12
Total Memory: 4.2 GiB
Name: 9d2ac658-9157-472e-8c3f-39f835afcd11-n1
Docker Root Dir: 
Debug mode (client): false
Debug mode (server): false
WARNING: No kernel memory limit support

 

P.S.

Carina是Rackspace 发布的一款专注于容器技术的产品,是一种更易于使用的容器集群管理服务,关注于可迁移性,让客户可为容器化的应用创建和部署一个集群,而且所耗费的时间要比客户自行构建和部署快6.5倍。Carina包含了裸机性能以及内置的容器工具和编排,可以让容器集群更易于应用。

具体而言,Carina使用了内置的Docker API和工具,可以让应用轻松地从开发到测试到生产环境中,同时其裸机性能为开发者、数据科学家以及运营商提供了更易于迁移的容器环境。这种”零基础设施“的容器环境中,用户可以使用到OpenStack功能的基础架构,Rackspace专家负责管理基础架构,并为用户提供Docker环境。–TechTarget云计算