我是docker和docker-compose的新手,我正在docker和docker-compose上用Laradock开发一个Laravel项目,这是按照一个教程进行的(不知道这种情况是否是正确的方法)。
我想在这个环境中安装
composer
,以便能够使用
composer
命令。
事实上,我想进行播种,把数据放到我用
php artisan make:migrate
制作的数据库中,但出现了这个错误。
include(/var/www/laravel_practice/vendor/composer/../../database/seeds/AdminsTableSeeder.php): failed to open stream: No such file or directory
所以我在网上搜索这个脚本,想找到一个能解决这个错误的办法,然后我就找到了它。
它说:"做composer dump-autoload
,然后再尝试播种",所以我按照它做了,然后出现了这个错误。
bash: composer: command not found
因为我没有在docker-container中安装 composer。
我的docker的状况现在是这样的。
・mysql
・apache
・php-fpm
由于我没有安装composer
,我必须把它安装到docker-container中才能解决问题,但我不知道如何把它安装到docker-container中。
所以谁能告诉我如何将composer
安装到docker-container中?
这里是laradock/mysql/Dockerfile
和laravelProject/docker-compose.yml
。
ARG MYSQL_VERSION=5.7
FROM mysql:${MYSQL_VERSION}
LABEL maintainer="Mahmoud Zalt <mahmoud@zalt.me>"
#####################################
# Set Timezone
#####################################
ARG TZ=UTC
ENV TZ ${TZ}
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone && chown -R mysql:root /var/lib/mysql/
COPY my.cnf /etc/mysql/conf.d/my.cnf
CMD ["mysqld"]
EXPOSE 3306
version: '2'
services:
image: mysql:5.7
ports:
- "6603:3306"
environment:
- MYSQL_ALLOW_EMPTY_PASSWORD=true
- MYSQL_DATABASE=laravelProject
- LANG=C.UTF-8
volumes:
- db:/var/lib/mysql
command: mysqld --sql-mode=NO_ENGINE_SUBSTITUTION --character-set-server=utf8 --collation-server=utf8_unicode_ci
image: arbiedev/php-nginx:7.1.8
ports:
- "8080:80"
volumes:
- ./www:/var/www
- ./nginx.conf:/etc/nginx/sites-enabled/default
volumes: