【发布时间】:2019-03-21 02:46:19
【问题描述】:
我是 docker 和 docker-compose 的新手,我正在按照教程使用 Laradock 在 docker 和 docker-compose 上开发 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
所以我用谷歌搜索了这个脚本以找到一个可以解决错误的解决方案,然后我找到了它。
它说,“Do composer dump-autoload 并再次尝试播种”,所以我跟着它然后出现了这个错误。
bash: composer: command not found
因为我还没有将 composer 安装到 docker-container 中。
我的码头工人现在的情况是这样的。
・工作区
・mysql
・阿帕奇
・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:
db:
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
web:
image: arbiedev/php-nginx:7.1.8
ports:
- "8080:80"
volumes:
- ./www:/var/www
- ./nginx.conf:/etc/nginx/sites-enabled/default
volumes:
db:
【问题讨论】:
-
@prithajnath 谢谢你的建议。我修改了,现在怎么样了?
-
好多了。您是否碰巧拥有用于创建映像/容器的相关 Dockerfile?
-
你的基础镜像是什么——你能分享你的 Dockerfile 吗?
-
@prithajnath 我添加了有关它的信息。
标签: laravel docker docker-compose virtual-machine laradock