在Docker里运行Docker
自从把mac上的docker升级后,就无法访问Carina 了,总是报错,
client is newer than server (client API version: 1.24, server API version: 1.23)
这让我好是郁闷了一段时间,今天突发奇想,能不能在Docker里装个低版本的Docker呢?查找了下,发现原来官方已经帮做好了一个。
经过一番测试,成功运行了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云计算