我有一個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的最好例子。它只是一個節點應用程序,但您可以將其與其他語言一起使用。 ;) –
正如我在其他問題時說,複印容器內你的代碼是不是比創建與碼頭工人,撰寫一個卷的獨佔。 –