Tag: 文件

Mongo Docker没有创build用户

基本上我想在创build图像时创build用户。 所以,我可以直接启动我的容器auth模式。 整个过程必须自动化。 因此,我已经按照下面的过程。 我使用的是mongo docker office images 3.2。 我的docker文件 FROM mongo:3.2 MAINTAINER <name> <mail.com> LABEL description="Mongo installation." ADD Changeauthversion.js /home/script/ ADD createadminuser.js /home/script/ ADD createsavpuser.js /home/script/ RUN mongod –fork –logpath /var/log/mongodb.log \ && sleep 5 \ &&mongo <Databasename> /home/script/Changeauthversion.js \ && mongo <Databasename> /home/script/createadminuser.js \ && mongo <Databasename> /home/script/createuser.js \ && rm -r /tmp/mongodb-27017.sock […]

如何在ENTRYPOINT数组中使用Docker环境variables?

如果我设置了一个环境variables,比如ENV ADDRESSEE=world ,我想在入口点脚本中使用它,并将其连接成一个固定的string,例如: ENTRYPOINT ["./greeting", "–message", "Hello, world!"] world是环境variables的价值,我该怎么做? 我尝试使用"Hello, $ADDRESSEE"但似乎并没有工作,因为它需要字面上的$ADDRESSEE 。

docker多线CMD或入口点

由于一些参数的缘故,我有一个非常长的默认进程的命令行。 我觉得最简单的就是创build一个脚本(例如run.sh ),然后在你的ENTRYPOINT或CMD调用这个脚本。 我想知道是否有办法让你的ENTRYPOINT或CMD多行(我们写RUN的方式)。 例如。 ENTRYPOINT["/path/myprocess", "arg1", "arg2" ] 我以为这是一个有效的语法,因为格式是json。 然而, docker build引发错误 Step 14 : ENTRYPOINT[ Unknown instruction: ENTRYPOINT[ 有没有办法可以将ENTRYPOINT多行?

在创buildDocker镜像时尝试运行某些内容时出现“操作不受支持”错误

我正在尝试使用以下命令构builddocker映像: docker build -f conf/Dockerfile -t my_app_name . Dockerfile开始于: FROM ubuntu:14.04 COPY conf/pubkey pubkey RUN echo 'deb http://downloads.skewed.de/apt/trusty trusty universe' >> /etc/apt/sources.list \ && apt-key add pubkey \ && rm pubkey 并且它返回INFO[0000] operation not supported 。 不pipe我在运行后(甚至RUN echo 1失败) 我尝试在中间docker图像( docker run a7bb092… -it /bin/sh )中运行一个shell,但是这只是抛出FATA[0000] Error response from daemon: Cannot start container a7bb092…: operation […]

如何在Dockerfile CMD中使用variables?

在我的Dockerfile里面: ENV PROJECTNAME mytestwebsite CMD ["django-admin", "startproject", "$PROJECTNAME"] 错误: CommandError: '$PROJECTNAME' is not a valid project name 什么是最快捷的解决方法? Docker是否有计划在Docker的更高版本中“修复”或引入此function? 注意:如果我从Docker文件中删除CMD行,然后运行Docker容器,我可以手动从容器中运行Django-admin startproject $ PROJECTNAME,它将创build项目…

Docker环境variables来自文件

我正在尝试为我的生产和开发使用一个Dockerfile。 生产和开发之间的唯一区别是我设定的环境variables。 所以我想要从文件中导入环境variables。 在使用Docker之前,我只需要执行以下操作 . ./setvars ./main.py 但是,如果更改与Docker等效的./main.py . ./setvars docker run …. ./main.py 那么variables将在主机上,不能从Docker实例访问。 当然,快速和肮脏的黑客将是一个文件 #!/bin/bash . ./setvars ./main.py 并在实例中运行。 然而,这真的很烦人,因为我想要运行很多脚本(使用相同的环境variables),然后必须为每个人创build一个额外的脚本。 是否有任何其他的解决scheme,以获得我的环境variables,而不使用不同的Dockerfile和我上面描述的方法在Docker中?

在Docker中构build期间如何设置环境variables

我试图在Docker容器中设置环境variables,但没有成功。 使用运行命令时设置它们,但我需要在构build期间设置它们。 Dockerfile FROM ubuntu:latest ARG TEST_ENV=something 我用来构build的命令 docker build -t –build-arg TEST_ENV="test" myimage . 运行 docker run -dit myimage 我通过使用检查可用的环境variables docker exec containerid printenv 结果是 PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin HOSTNAME=e49c1abfd58b TERM=xterm no_proxy=*.local, 169.254/16 HOME=/root TEST_ENV不存在

我如何使用容器上的本地文件?

我正在尝试创build一个容器来运行一个程序。 我正在使用预先configuration的图像,现在我需要运行程序。 但是,这是一个机器学习程序,我需要从我的电脑上运行一个数据集。 该文件太大,无法复制到容器。 如果在容器中运行的程序在我的计算机的本地目录中search数据集,那将是最好的,但我不知道如何才能做到这一点。 有什么办法做一些docker命令这个参考吗? 还是使用Dockerfile?

我如何检查有多less个容器正在运行某个泊坞窗图像?

我想检查有多less个容器正在运行一个映像,我可以使用docker ps –filter ancestor ="imagename"计算容器的数量。但是我的机器不支持这个命令,还有另外一种方法可以做到这一点?

Dockerfile是否总是被放置在构build上下文根中?

假设我有一个Django项目,并且想创build几个Dockerfiles,这些Dockerfiles将使用不同的设置和系统包(不要和Python库混淆)。 为了运行应用程序,我必须将完整的项目代码库复制到图像。 现在我已经看到了build立一个docker / fig Mesos环境 ,这个环境激励我把每个单独的Dockerfile放到项目根目录下的自己的目录中。 docker build env1/可预测地创build一个env1的tarball,并使用它来构build图像。 有什么办法可以重新定义Dockerfile名称或build立上下文根?