docker工人运行docker集装箱内的气stream

我在EC2实例上运行气stream,并且正在计划启动泊坞窗容器的一些任务。 我怎么做? 我需要在我的气stream容器上安装docker吗? 下一步是什么? 我有一个yaml文件,我正在使用旋转容器,它来自于puckel / airflow Docker镜像

终于解决了

我的EC2安装程序正在运行unbuntu Xenial 16.04,并使用修改过的运行气stream的puckel / airflow docker镜像

你将需要在Dockerfile中进行更改

在Dockerfile的顶部添加USER根

USER root

安装docker箱不适合我,所以我不得不安装

docker binary in my docker container

从Docker Inc.存储库安装Docker。

RUN curl -sSL https://get.docker.com/ | sh

在互联网上searchwrapdocker文件。 将其复制到Dockerfile所在文件夹的脚本目录中。 这将启动气stream泊坞窗内的泊坞窗守护进程

安装魔术包装

ADD ./script/wrapdocker /usr/local/bin/wrapdocker RUN chmod +x /usr/local/bin/wrapdocker

作为用户添加气stream到docker组,以便气stream可以运行docker工作

RUN usermod -aG docker airflow

切换到气stream用户

USER airflow

Docker将文件或命令行参数组合到docker run中

将docker插口从docker airflow安装到刚刚安装的docker镜像

- /var/run/docker.sock:/var/run/docker.sock

你应该很好走!

您可以通过将卷连接到容器来旋转气stream泊坞窗容器中的泊坞窗容器。

例:

 docker run -v /var/run/docker.sock:/var/run/docker.sock:ro -v /path/to/bin/docker:/bin/docker:ro your_airflow_image 

您可能还需要附加docker所需的一些库。 这取决于您运行Docker的系统。 只要阅读在容器中运行docker命令时得到的错误信息,它就会显示你需要附加的东西。

您的气stream容器可以完全访问在主机上运行的Docker。 所以如果你启动Docker容器,它们将运行在运行气stream容器的主机上。