从dockerfile运行项目依赖项命令
我有一个laravel项目,需要:
- mysql数据库映像
- mongo数据库映像
- 依赖:npm,composer php,吞咽,凉亭
所以我用3个服务创build了docker-compose.yml
:
version: '2.0' services: db-mysql: image: mysql environment: - "MYSQL_DATABASE=app_db" - "MYSQL_USER=db_user" - "MYSQL_PASSWORD=nutella" - "MYSQL_ROOT_PASSWORD=choco" db-mongo: image: mongo app: volumes: - C:\Users\svirl\Documents\workspace\app-web:/var/www/html/:rw build: app links: - db-mysql - db-mongo ports: - 32772:80 depends_on: - db-mysql - db-mongo
好的,我的应用程序,我有一个Dockerfile生成:
FROM php:5.6-apache WORKDIR /var/www/html/ RUN apt-get update RUN curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer RUN composer install #* RUN apt-get install npm RUN npm install #* RUN npm install -g bower RUN bower install --allow-root RUN npm install -g gulp RUN gulp
但是,当然像#*
这样的命令不会奏效,因为VOLUME没有挂载,文件也不存在,错误如下所示:
Composer could not find a composer.json file in /var/www/html
那么这种情况下有什么解决scheme? 为了让我的项目运行,我需要在容器创build上运行这些命令。
使用命令( composer install, npm install...
)编写一个shell脚本,并将该脚本作为ENTRYPOINT
放入您的Dockerfile
。
- 如何使用docker-py列出给定图像的标签?
- Django的docker容器无法连接到MySQL容器,错误“无法连接到'db'(111)上的MySQL服务器”)
- 将bin文件复制到docker容器导致错误
- Docker的撰写 – 如何在一个MySQL容器中引用许多模式
- 如何在Windows10上启动并注册Hyperledger的chaincode
- PHP FPM Docker ZF1:会话已经启动。 会话ID必须先设置
- Docker的nginx代理主机
- 适用于AWS和Selenium网格的Docker – 拒绝连接/无路由到主机(主机不可达)
- 拉扯jenkins图像时获取“需要身份validation”错误