Col*_*phy 27 centos fedora docker
我正在使用一个docker容器来构建和部署我的软件到ec2的集合.在部署脚本中,我构建了我的软件,然后将其打包到docker镜像中.图像被推送到我的私人注册表,由我的生产ec2's拉,然后运行.所以基本上我需要在docker容器中运行docker.
问题是我实际上无法在我的容器上启动docker.如果我试试
service docker start
Run Code Online (Sandbox Code Playgroud)
我明白了
bash: service: command not found
Run Code Online (Sandbox Code Playgroud)
如果我试试
docker -d
Run Code Online (Sandbox Code Playgroud)
我明白了
2014/10/07 15:54:35 docker daemon: 0.11.1-dev 02d20af/0.11.1; execdriver: native; graphdriver:
[e2feb6f9] +job serveapi(unix:///var/run/docker.sock)
[e2feb6f9] +job initserver()
[e2feb6f9.initserver()] Creating server
2014/10/07 15:54:35 Listening for HTTP on unix (/var/run/docker.sock)
[error] attach_loopback.go:42 There are no more loopback device available.
loopback mounting failed
[e2feb6f9] -job initserver() = ERR (1)
2014/10/07 15:54:35 loopback mounting failed
Run Code Online (Sandbox Code Playgroud)
docker容器上不存在service命令,因此我无法启动docker.我不知道我现在应该做什么来启动码头工具所以我有点卡在这里,任何帮助都表示赞赏.
更多信息
主机正在运行fedora 20(最终将在ec2上运行amazon linux)
Docker容器正在运行centos 7.0
主机运行Docker 1.2.0版,构建fa7b24f/1.2.0
Container正在运行docker-0.11.1-22.el7.centos.x86_64
cth*_*lhu 42
如何不在你的主机上运行'docker in docker'并运行docker,而是从你的docker容器中运行?只需安装docker.sock和docker二进制文件:
docker run -v /var/run/docker.sock:/run/docker.sock -v $(which docker):/bin/docker [your image]
https://github.com/sameersbn/docker-gitlab使用这种方法来启动docker容器,看看这个图像.
您还可以查看:https://registry.hub.docker.com/u/mattgruter/doubledocker/
2016年7月更新
最新的方法是使用docker:dindimage,如下所述:https:
//hub.docker.com/_/docker/
简短的摘要:
$ docker run --privileged --name some-docker -d docker:dind
然后:
$ docker run --rm --link some-docker:docker docker info
| 归档时间: |
|
| 查看次数: |
18500 次 |
| 最近记录: |