我刚读了一个码头文件这里。
基本上,Dockerfile如下所示:
FROM postgres:9.1
MAINTAINER Mike Dillon <mike@appropriate.io>
ENV POSTGIS_MAJOR 2.1
ENV POSTGIS_VERSION 2.1.7+dfsg-3~94.git954a8d0.pgdg80+1
RUN apt-get update \
&& apt-get install -y --no-install-recommends \
postgresql-$PG_MAJOR-postgis-$POSTGIS_MAJOR=$POSTGIS_VERSION \
postgis=$POSTGIS_VERSION \
&& rm -rf /var/lib/apt/lists/*
RUN mkdir -p /docker-entrypoint-initdb.d
COPY ./initdb-postgis.sh /docker-entrypoint-initdb.d/postgis.sh我想确保正确地解释了以下两个命令:
RUN mkdir -p /docker-entrypoint-initdb.d
COPY ./initdb-postgis.sh /docker-entrypoint-initdb.d/postgis.shRUN命令正在运行一个mkdir命令,这意味着当前目录将有一个名为:
/docker-entrypoint-initdb.d在下一个命令(即复制命令)中,目录./initdb-postgis.sh的内容被复制到/docker-entrypoint-initdb.d/postgis.sh中,对吗?
发布于 2015-09-13 17:15:42
RUN cmd用于执行cmd命令,并将为您正在构建的映像创建并提交一个新层。因此,这些命令在正在构建的映像的上下文中运行。mkdir -p /docker-entrypoint-initdb.d将在图像根目录中创建一个新文件夹docker-entrypoint-initdb.d。COPY ./initdb-postgis.sh /docker-entrypoint-initdb.d/postgis.sh将文件initdb-postgis.sh (必须位于运行docker build command的同一级别上)复制到容器内的文件/docker-entrypoint-initdb.d/postgis.sh。
https://stackoverflow.com/questions/32552037
复制相似问题