Ash*_*hik 2 docker dockerfile docker-compose prisma
在这个例子中,我将 wait-for-it.sh 复制到 /app/wait-for-it.sh 但是,我不想将 wait-for-it.sh 保存在我的本地目录中。我想使用 curl 下载它,然后复制到 /app/wait-for-it.sh
FROM prismagraphql/prisma:1.34.8
COPY ./wait-for-it.sh /app/wait-for-it.sh
RUN chmod +x /app/wait-for-it.sh
ENTRYPOINT ["/bin/sh","-c","/app/wait-for-it.sh mysql:3306 --timeout=0 -- /app/start.sh"]
Run Code Online (Sandbox Code Playgroud)
我试过的是这个,但是如何wait-for-it.sh
在使用 curl 命令下载文件后获得:
FROM prismagraphql/prisma:1.34.8
FROM node:11-slim
RUN apt-get update && apt-get install -yq build-essential dumb-init
RUN curl -LJO https://raw.githubusercontent.com/vishnubob/wait-for-it/master/wait-for-it.sh
COPY wait-for-it.sh /app/wait-for-it.sh
RUN chmod +x /wait-for-it.sh
ENTRYPOINT ["/bin/sh","-c","/wait-for-it.sh mysql:3306 --timeout=0 -- /app/start.sh"]
Run Code Online (Sandbox Code Playgroud)
par*_*rse 10
不相关,但在构建期间处理下载的一种更简单的方法是使用 Docker 的ADD
指令,而不使用 curl 或 wget。
ADD https://raw.githubusercontent.com/vishnubob/wait-for-it/master/wait-for-it.sh /tmp
COPY /tmp/wait-for-it.sh /app/wait-for-it.sh
Run Code Online (Sandbox Code Playgroud)
现在,我们建议使用 Docker 的 ADD 指令,而不是在 RUN 指令中运行 wget 或 curl - 当您使用 ADD 时,Docker 能够处理 https URL,而您的基础映像可能无法使用 https,或者甚至可能没有wget 或curl 已安装。
https://github.com/just-containers/s6-overlay#usage
根据您在下面的评论,您可以试试这个:
FROM prismagraphql/prisma:1.34.8
RUN apk update && apk add build-base dumb-init curl
RUN curl -LJO https://raw.githubusercontent.com/vishnubob/wait-for-it/master/wait-for-it.sh
RUN cp wait-for-it.sh /app/
RUN chmod +x /wait-for-it.sh
ENTRYPOINT ["/bin/sh","-c","/wait-for-it.sh mysql:3306 --timeout=0 -- /app/start.sh"]
Run Code Online (Sandbox Code Playgroud)
注意:您需要使用cp
您想将脚本复制从一个位置到另一个命令中的容器的文件系统。
您还可以/app
通过运行以下命令来确认文件夹中是否存在您的脚本和其他文件/目录:
$ docker run --rm --entrypoint ls waitforit -l /app/
total 36
drwxr-xr-x 1 root root 4096 Aug 29 2019 bin
drwxr-xr-x 2 root root 16384 Aug 29 2019 lib
-rwxr-xr-x 1 root root 462 Aug 29 2019 prerun_hook.sh
-rwxr-xr-x 1 root root 61 Aug 29 2019 start.sh
-rw-r--r-- 1 root root 5224 Apr 22 13:46 wait-for-it.sh
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
7729 次 |
最近记录: |