我正在尝试使用env变量运行docker映像。
但是对于env.list文件或命令行而言,它对我不起作用。
docker run -p 49160:8080 -d appname -e FOO='foo'
来自守护程序的错误响应:OCI运行时创建失败: container_linux.go:348:启动容器进程引起“执行: \“-e \”:在$ PATH中找不到可执行文件“:未知。
run -p 49160:8080 -d appname --env-file ./env.list
来自守护程序的错误响应:OCI运行时创建失败: container_linux.go:348:启动容器进程引起“执行: \“-env文件\”:在$ PATH中找不到可执行文件“:未知。
如果我刚去,它确实可以运行:
docker run -p 49160:8080 -d appname
Dockerfile:
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 8080
CMD [ "npm", "start" ]
答案 0 :(得分:7)
您需要将环境变量放在之前。试试这个:
def decorator(func):
@functools.wraps(func)
def wrapper_decorator(*args, **kwargs):
x = 5 * 10
value = func(*args, **kwargs)
# Do something after
return value
return wrapper_decorator
@decorator
def mult(x):
y = x/5
print y #should print 10
答案 1 :(得分:0)
根据文档... link
要为单个命令设置一个值,请使用RUN key = value命令。
答案 2 :(得分:0)
试试下面..例如:
docker run --env LOG_DIR_PATH='/code/${LOG_DIR_PATH}'