我正在尝试创建一个容器来安装我的一个应用程序。
在这个应用程序中,我必须在根目录下做一个composer install
,但也在子文件夹中。
# Switch to non-root 'app' user & install app dependencies
COPY composer.json composer.lock ./
RUN chown -R $NON_ROOT_USER:$NON_ROOT_GROUP $LARAVEL_PATH
USER $NON_ROOT_USER
# Install composer in base directoru
RUN composer install --prefer-dist --no-scripts --no-dev --no-autoloader
# Here I want to go to subfolder
RUN ls -la
RUN cd ./web/app/themes/sage
RUN composer install --prefer-dist --no-scripts --no-dev --no-autoloader
RUN rm -rf /home/$NON_ROOT_USER/.composer
问题是,我得到以下错误:can't cd to ./web/app/themes/sage: No such file or directory
然而,当我查看构建时,我执行RUN ls -la
并看到正确的文件架构与我现有的"web";文件夹。
怎么做?
您可以使用WORKDIR
更改工作目录。将RUN cd ./web/app/themes/sage
替换为WORKDIR /web/app/themes/sage