docker - 通过 dockerfile 传递 Docker 运行命令
问题描述
我正在尝试在我的容器中运行 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。
非常感谢这方面的任何帮助。
解决方案
您不能强制容器在 Dockerfile 中以特权身份运行。
作为一般规则,您不能在 Docker 容器中运行 Docker;更典型的设置是共享主机的 Docker 套接字。在https://hub.docker.com/_/docker/有一个官方的 Docker 镜像尝试了这个,并给出了一些相当突出的建议,不要实际使用它。
推荐阅读
- javascript - 如何使用 onlick 填写多个输入表单
- reactjs - 多个 BrowserRouter 显示多个组件
- vaadin - Vaadin Charts:用悬停点触发点击事件
- python - 派生类(Base.User)与派生类(用户)?
- reactjs - 密钥应该是唯一的,以便组件在更新时保持其身份
- c# - 实体框架迁移:获取表和列的名称
- python - 如何按列对csv文件进行排序
- tableau-api - 我如何划分这两个维度?(自定义表格计算)
- r - 在 Ubuntu 18.04 服务器上更新到 R 3.5.1 后出现致命错误
- python - 如何从具有多个 JSON 行的 JSON 文件中的选择对象创建 python 字典(键:值)