将Grunt集成到docker-compose中?

时间:2016-11-24 13:20:02

标签: php docker gruntjs docker-compose

我有两个以docker-compose f- docker-compose.yml -f docker-compose-osx.yml up

开头的docker撰写文件

文件内容为:

搬运工-compose.yml:

version: '2'
services:
    fpm:
        image: sbusso/php-fpm-ion
    nginx:
        image: nginx:stable
        ports:
            - "80:80"
        links:
            - fpm
            - db
    db:
        image: orchardup/mysql
        ports:
            - 3306:3306
        environment:
            MYSQL_ROOT_PASSWORD: root
            MYSQL_DATABASE: myproject

搬运工-撰写-osx.yml

version: '2'
services:
    fpm:
        links:
            - sync
        volumes_from:
            - sync
    db:
        links:
            - sync
        volumes_from:
            - sync
    nginx:
        links:
            - sync
        volumes_from:
            - sync
    sync:
        image: zeroboh/lsyncd
        volumes:
            - /var/www/html
            - ./src:/src:Z
            - ./docker-config/nginx:/etc/nginx/conf.d
            - /var/lib/php/session
            - ./docker-config/lrsync/lrsync.lua:/etc/lrsync/lrsync.lua
            - ./sync:/sync

通常当我连接到我的fpm容器时,我需要运行grunt,但是我的docker容器不知道grunt和npm。

如何在我的docker-compose文件中集成grunt?

谢谢!

1 个答案:

答案 0 :(得分:0)

你的fpm容器( sbusso / php-fpm-ion )没有安装grunt和npm(它的基本图像都没有)。您可以通过阅读Dockerfile here来查看。

sbusso / php-fpm-ion 基于 sbusso / php-fpm ,它基于 debian:jessie 。您可以像安装任何Debian系统一样安装npm和grunt。 debian软件包中提供的npm版本已经很老了,您应该看到他们的安装指南on the website,然后使用npm install -g grunt-cli安装grunt

请记住,容器与主机隔离,它们不能共享文件或二进制文件。即使你的主机上安装了npm和grunt,你的容器也无法启动它们。