我正在尝试使用docker-compose up构建和运行docker映像,但是,我收到错误can't open /config/config.template: no such file
我的Dockerfile如下:
FROM quay.io/coreos/clair-git
COPY config.template /config/config.template
#Set Defaults
ENV USER=clair PASSWORD=johnnybegood INSTANCE_NAME=postgres PORT=5432
RUN apk add gettext
CMD envsubst < /config/config.template > /config/config.yaml && rm -f /config/config.template && exec /clair -config=/config/config.yaml
ENTRYPOINT []添加RUN ls -la /config/行时,运行docker-compose up --build后返回如下内容:
drwxr-xr-x 2 root root 4096 Sep 16 06:46 .
drwxr-xr-x 1 root root 4096 Sep 16 06:46 ..
-rw-rw-r-- 1 root root 306 Sep 6 05:55 config.template下面是错误:
clair_1_9345a64befa1 | /bin/sh: can't open /config/config.template: no such file我已经尝试更改行尾并检查docker版本。它似乎可以在运行不同操作系统的不同机器上工作。
我正在使用Ubuntu18.04和docker版本的docker-compose version 1.23.1, build b02f1306
我的docker-compose.yml文件:
version: '3.3'
services:
clair:
build:
context: clair/
dockerfile: Dockerfile
environment:
- PASSWORD=johnnybegood
- USER=clair
- PORT=5432
- INSTANCE=postgres
ports:
- "6060:6060"
- "6061:6061"
depends_on:
- postgres
postgres:
build:
context: ../blah/postgres
dockerfile: Dockerfile
ports:
- "5432:5432"
environment:
- POSTGRES_PASSWORD=johnnybegood
- POSTGRES_USER=clair
- POSTGRES_DB=clair发布于 2019-09-16 15:25:04
Docker CMD仅设计为运行单个进程,遵循每个容器一个进程的docker哲学。尝试使用启动脚本修改模板,然后启动clair。
FROM quay.io/coreos/clair-git
COPY config.template /config/config.template
COPY start.sh /start.sh
#Set Defaults
ENV USER=clair PASSWORD=johnnybegood INSTANCE_NAME=postgres PORT=5432
RUN apk add gettext
ENTRYPOINT ["/start.sh"]并使用Dockerfile将startscript (具有可执行权限)复制到容器中
!#/bin/sh
envsubst </config/config.template > /config/config.yaml
/clair -config=/config/config.yaml编辑:在David maze的评论后更改了答案
https://stackoverflow.com/questions/57951681
复制相似问题