php - 在 Docker 文件中自定义安装
问题描述
无法make install
从 docker 文件运行,不确定我哪里出错了。
docker-compose build
在 ubuntu 中运行时出现以下错误消息
Step 6/10 : RUN make install
---> Running in c8f67e8de3b5
make: *** No rule to make target 'install'. Stop.
ERROR: Service 'web' failed to build:
The command '/bin/sh -c make install' returned a non-zero code: 2
我有以下结构,其中服务器是laravel项目,根目录中有一个docker-compose.yml文件。
下面是服务器文件夹的结构
docker-compose.yml文件
version: '3'
services:
web:
image: api_server
container_name: api_server
build:
context: ./server/release
ports:
- 9000:80
volumes:
- ./server:/var/www/app
Dockerfile
FROM php:7.3.1-apache-stretch
RUN apt-get update -yqq && \
apt-get install -y apt-utils zip unzip && \
apt-get install -y nano && \
apt-get install -y libzip-dev libpq-dev libpng-dev&& \
a2enmod rewrite && \
docker-php-ext-install gd mbstring && \
docker-php-ext-install pdo_pgsql && \
docker-php-ext-install pgsql && \
docker-php-ext-configure zip --with-libzip && \
docker-php-ext-install zip && \
rm -rf /var/lib/apt/lists/*
RUN php -r "readfile('http://getcomposer.org/installer');" | php -- --install-dir=/usr/bin/ --filename=composer
COPY default.conf /etc/apache2/sites-enabled/000-default.conf
WORKDIR /var/www/app
RUN make install
RUN chown -R www-data:www-data /var/www/app/
RUN chmod -R 777 /var/www/app/storage
CMD ["/usr/sbin/apache2ctl", "-D", "FOREGROUND"]
EXPOSE 80
服务器/Makefile
install:
# some other commands
composer install
refresh:
# For testing
php artisan migrate:refresh
php artisan db:seed
make run:
php artisan migrate:status
php artisan serve
基本上,如果我从DockerfileRUN make install
发表评论和RUN chmod -R 777 /var/www/app/storage
命令,它就可以工作。为了测试,我将进入容器并手动运行上述 2 个命令,然后通过显示默认的 laravel 页面来工作。
所以我觉得尝试从Dockerfile运行上述 2 个命令,我猜当时源代码不可用。
解决方案
推荐阅读
- laravel - 对普通用户也使用 Backpack 的 Admin CRUD
- firebase - 如何只打开被点击的模态
- gremlin - 如何将选定的属性从一个 gremlin 查询传递到另一个?
- python - python list 在用于循环时表现不同
- fastapi - 如何使用 FastAPI 处理 ImmutableMultiDict
- flutter - 包:get 未安装在 VS Code 上的此应用程序中
- c - 如何在 printQuad 函数中使用我编写的 printPoint 函数?
- python - python中的无限循环
- arrays - 如何编写一个可以返回两个整数的函数?
- windows - 安装 Flutter SDK 1.22.5-stable 在过程早期失败