标签: dockerfile

如何在Dockerfile CMD中使用变量?

在我的Dockerfile中:

ENV PROJECTNAME mytestwebsite
CMD ["django-admin", "startproject", "$PROJECTNAME"]
Run Code Online (Sandbox Code Playgroud)

错误:

CommandError: '$PROJECTNAME' is not a valid project name
Run Code Online (Sandbox Code Playgroud)

什么是最快的解决方法?Docker是否有计划在更高版本的Docker中"修复"或引入此功能?

注意:如果我从Docker文件中删除CMD行然后运行Docker容器,我可以从容器内部手动运行Django-admin startproject $ PROJECTNAME,它将创建项目...

docker dockerfile

69
推荐指数
4
解决办法
4万
查看次数

standard_init_linux.go:211: exec 用户进程导致“exec 格式错误”

我正在为 python 脚本构建 Dockerfile,它将在 minikube windows 10 系统中运行,下面是我的 Dockerfile

使用以下命令构建 docker docker build -t python-helloworld .

并将其加载到 minikube docker Demon 中 docker save python-helloworld | (eval $(minikube docker-env) && docker load)

Docker 文件

FROM python:3.7-alpine
#add user group and ass user to that group
RUN addgroup -S appgroup && adduser -S appuser -G appgroup

#creates work dir   
WORKDIR /app

#copy python script to the container folder app
COPY helloworld.py /app/helloworld.py

#user is appuser
USER appuser

ENTRYPOINT  ["python", "/app/helloworld.py"]
Run Code Online (Sandbox Code Playgroud)

pythoncronjob.yml 文件(cron …

python docker kubernetes dockerfile minikube

69
推荐指数
7
解决办法
12万
查看次数

如何在docker-compose中传递参数?

Docker 1.9允许将参数传递给dockerfile.请参阅链接:https://docs.docker.com/engine/reference/builder/#arg

如何在docker-compose.yml中传递相同的参数?
如果可能的话,请提供一个例子.

docker dockerfile docker-compose

68
推荐指数
5
解决办法
9万
查看次数

如何在docker构建Dockerfile时缓存RUN npm安装指令

我目前正在为我的应用程序开发一个Node后端.对它进行码头化(docker build.)时,最长的阶段是RUN npm install.RUN npm install每个小型服务器代码的指令都会改变,通过让开发人员每次等待构建完成来影响生产力.

我发现在应用程序代码所在的位置运行npm install并使用ADD指令将node_modules添加到容器中解决了这个问题,但它远非最佳实践.它打破了它的整个想法,它会使容器更重.

还有其他方法吗?

node.js docker dockerfile

66
推荐指数
4
解决办法
5万
查看次数

在Dockerfile中使用WORKDIR命令有什么意义

我正在学习Docker.很多次,我看到它DockerfileWORKDIR命令

FROM node:latest
RUN mkdir -p /usr/src/app
WORKDIR /usr/src/app
COPY package.json /usr/src/app/
RUN npm install
COPY . /usr/src/app
EXPOSE 3000
CMD [ “npm”, “start” ] 
Run Code Online (Sandbox Code Playgroud)

我不能省略WORKDIR,Copy只是让我Dockerfile的项目根源?使用这种方法的缺点是什么?

docker dockerfile

66
推荐指数
5
解决办法
6万
查看次数

Docker 和 Laravel:配置:错误:未满足包要求(oniguruma)

谁能帮我解决这个问题。

当我尝试从 dockerfile 为 laravel 应用程序创建 docker 图像时,我收到此错误:

检查 oniguruma... 没有配置:错误:不满足包要求(oniguruma):

No package 'oniguruma' found

Consider adjusting the PKG_CONFIG_PATH environment variable if you
installed software in a non-standard prefix.

Alternatively, you may set the environment variables ONIG_CFLAGS
and ONIG_LIBS to avoid the need to call pkg-config.
See the pkg-config man page for more details.
Run Code Online (Sandbox Code Playgroud)

命令“/bin/sh -c docker-php-ext-install pdo mbstring”返回非零代码:1

这是我的 Dockerfile:

FROM php:7
RUN apt-get update -y && apt-get install -y openssl zip unzip git
RUN curl -sS https://getcomposer.org/installer | …
Run Code Online (Sandbox Code Playgroud)

php laravel docker dockerfile

66
推荐指数
2
解决办法
3万
查看次数

Docker如何运行pip requirements.txt只有在有变化的情况下?

在Dockerfile中我有一个安装层requirements.txt:

FROM python:2.7
RUN pip install -r requirements.txt
Run Code Online (Sandbox Code Playgroud)

当我构建docker镜像时,无论对此文件所做的任何更改,它都会运行整个过程.

如何pip install -r requirements.txt在文件发生更改时确保仅运行Docker ?

Removing intermediate container f98c845d0f05
Step 3 : RUN pip install -r requirements.txt
 ---> Running in 8ceb63abaef6
Collecting https://github.com/tomchristie/django-rest-framework/archive/master.zip (from -r requirements.txt (line 30))
  Downloading https://github.com/tomchristie/django-rest-framework/archive/master.zip
Collecting Django==1.8.7 (from -r requirements.txt (line 1))
Run Code Online (Sandbox Code Playgroud)

python docker dockerfile

64
推荐指数
2
解决办法
5万
查看次数

Docker中的默认WORKDIR是什么?

我们可以使用WORKDIR将目录设置为工作目录Dockerfile,但如果我们没有设置,那么默认值是什么?

docker dockerfile

64
推荐指数
4
解决办法
6万
查看次数

什么是docker run -it flag?

我正在用docker做一些复杂的事情,但结果我不知道-it标志是什么意思.最近我遇到了一些令docker run我困惑的命令的例子.

docker run -itd ubuntu:xenial /bin/bash 
Run Code Online (Sandbox Code Playgroud)

我的问题是-it,如果在实例化期间运行容器,那么在这里写标志是有意义的bin/bash

在文档中我们有一个例子

docker run --name test -it debian
Run Code Online (Sandbox Code Playgroud)

有解释

-it指示Docker分配连接到容器的stdin的伪TTY; 在容器中创建交互式bash shell.

和帮助页面中-t标志的说明

-t, - try分配伪TTY

如果我删除-it标志期间

docker run -d ubuntu:xenial /bin/bash
Run Code Online (Sandbox Code Playgroud)

我新创建的容器并没有那么多

docker ps -a

它被指定为退出

对不起,如果我的问题很愚蠢,我在互联网上找不到解释(我对这一点有很大的误解).

docker dockerfile

64
推荐指数
4
解决办法
3万
查看次数

Docker映像-类型。苗条vs苗条伸展vs伸展vs高山

我希望拿起一个docker映像来构建一个Java应用程序,并查看可用的OpenJDK映像的变体。我在这里查看https://github.com/docker-library/openjdk/tree/master/8/jdk,看到阿尔卑斯山,细长的窗户。这些之间有什么区别,每个变体都有什么区别?

docker dockerfile

61
推荐指数
2
解决办法
2万
查看次数