簡體   English   中英

在 docker 容器內運行 docker?

[英]Run docker inside a docker container?

我正在使用 docker 容器來構建我的軟件並將其部署到 ec2 的集合中。 在部署腳本中,我構建了我的軟件,然后將其打包到 docker 映像中。 映像被推送到我的私人注冊表,由我的生產 ec2 拉取,然后運行。 所以基本上我需要在 docker 容器中運行 docker。

問題是我實際上無法在我的容器上啟動 docker。 如果我嘗試

service docker start

我得到

bash: service: command not found

如果我嘗試

docker -d

我得到

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

docker 容器上不存在 service 命令,因此我無法啟動 docker。 我不確定我現在應該做什么來啟動 docker 所以我有點卡在這里,任何幫助表示贊賞。

多一點信息

主機正在運行 fedora 20(最終將在 ec2 上運行 amazon linux)

Docker 容器正在運行 centos 7.0

主機正在運行 Docker 版本 1.2.0,構建 fa7b24f/1.2.0

容器正在運行 docker-0.11.1-22.el7.centos.x86_64

不運行“docker inside 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:dind圖像,如下所述: https docker:dind

簡短的摘要:

$ docker run --privileged --name some-docker -d docker:dind

然后: $ docker run --rm --link some-docker:docker docker info : $ docker run --rm --link some-docker:docker docker info

雖然在幾乎所有情況下,我都建議遵循 @cthulhu 的回答而不是運行“docker in docker”,但在您必須的情況下(例如,針對多個 docker 版本進行測試的測試套件),請使用以下內容創建額外的環回設備:

#!/bin/bash

for i in {0..6}
do
    mknod -m0660 /dev/loop$i b 7 $i
done

(取自 Docker問題 #7058的線程)

您可以使用dind容器內簡單地運行dind 試試 Jerome 的這張圖片,如下:

docker run --privileged -t -i jpetazzo/dind

查看此頁面了解更多詳情:
https://github.com/jpetazzo/dind

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM