Dock Est Beanstalk上的Docker中的Docker

时间:2014-10-27 15:02:19

标签: amazon-web-services docker elastic-beanstalk

我有一个在弹性beanstalk上运行的docker容器。在此容器中,我想使用在主机操作系统上运行的docker守护程序运行其他容器。

正如我在这里阅读http://blog.docker.com/category/demos/,如果第一个容器被调用:

docker run -it -v /var/run/docker.sock:/var/run/docker.sock <image_name>

我可以让Beanstalk调用我的容器吗?

2 个答案:

答案 0 :(得分:0)

不幸的是,Amazon Elastic Beanstalk采用了策略&#34; 每个VM一个容器&#34;这是相当有限的。

可能有一种解决方法,但这会浪费时间。

如果您需要,请使用Amazon EC2。

您可以在不到5分钟的时间内设置运行Docker的新实例!

答案 1 :(得分:0)

是的,它可能,但是YMMV。这是一个纲要:

Dockerrun.aws.json允许您将任意路径映射到容器路径中。因此,您可以将主机的/var/run(包含docker.sock)映射到临时路径中。以下是步骤:

确保您有一个临时目录

在您的dockerfile中:

RUN mkdir /run-data

确保Dockerrun.aws.json包含它:

{
    "AWSEBDockerrunVersion": "1",
    "Logging": "/app/log",
    "Volumes": [
        {
            "HostDirectory": "/var/run",
            "ContainerDirectory": "/run-data"
        }
    ]
}

然后,/run-data/docker.sock将包含用于运行命令的合适的docker套接字。从这一点开始,您可以参考docker api并直接与它交谈

快乐对接!