我有一个laravel项目,需要依赖关系的命令所以,我创建了一个docker-compose.yml
3个服务:运行项目从dockerfile
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
但是像那些#*
那倒工作的一些命令,因为体积不安装过程和文件的还不存在和错误抛出如:
Composer could not find a composer.json file in /var/www/html
那么这种情况下存在什么解决方案?为了让我的项目运行,我需要在容器创建中运行这些命令。
嗨!看看https://nodejs.org/en/docs/guides/nodejs-docker-webapp/,这是dockerize app的最好例子。它只是一个节点应用程序,但您可以将其与其他语言一起使用。 ;) –
正如我在其他问题时说,复印容器内你的代码是不是比创建与码头工人,撰写一个卷的独占。 –