通过dockerfile传递Docker运行命令

时间:2018-07-05 10:27:43

标签: docker kubernetes docker-compose dockerfile

我正在尝试在容器中运行docker。在某些文章中,我看到需要传递--privileged = true才能使之成为可能。

但是由于某些原因,我没有选择在运行时传递此参数。.因为某些自动化操作已经使我小心了,所以我无法访问它。

所以,我想知道是否有可能在Dockerfile中通过上述选项,以至于我没有将此作为参数传递。

现在这是我的dockerfile的内容。

FROM my-repo/jenkinsci/jnlp-slave:2.62

USER root
#RUN --privileged=true this doesnt work for obvious reasons
MAINTAINER RD_TOOLS "abc@example.com"
RUN apt-get update
RUN apt-get remove docker docker-engine docker.io || echo "No worries"
RUN apt-get --assume-yes install \
     apt-transport-https \
     ca-certificates \
     curl \
     gnupg2 \
     software-properties-common curl
RUN curl -fsSL https://download.docker.com/linux/debian/gpg | apt-key add -
RUN apt-key fingerprint 0EBFCD88
RUN cat /etc/*-release
RUN apt-get --assume-yes install docker.io
RUN docker --version
RUN service docker start

没有传递privilaged = true参数,看来我无法在docker内部运行docker。

在这方面的任何帮助都将受到高度赞赏。

1 个答案:

答案 0 :(得分:1)

您不能从Dockerfile中强制容器以特权方式运行。

作为一般规则,您不能在Docker容器内运行Docker。更典型的设置是共享主机的Docker套接字。有一个官方的Docker映像尝试在https://hub.docker.com/_/docker/上进行尝试,并提出了一些不实用的建议。

相关问题