Docker部署适用于MacO,但不适用于Ubuntu 16.04

时间:2018-03-27 08:02:28

标签: laravel docker npm docker-compose

我正在尝试将我的laravel应用程序停靠:https://github.com/xoco70/kendozone/tree/docker-local

我的开发环境正在运行,现在我正在开发本地环境中的可部署应用。

在MacOs中,一切都很好。

我用它构建它:

docker build . -f app.dockerfile.local -t kendozone:local-1.0.0

运行它
docker-compose -f docker-compose-local.yml up --force-recreate

问题在于npm run dev是一个webpack构建命令

它将编译Sass,合并Js和CSS,并将其复制到/var/www/public folder

但是当我在ubuntu中运行我的应用程序时,我可以访问登录页面,但它似乎加载没有任何css / js。

对于MacOs,我可以毫无问题地看到它们......

这是我的docker-compose:

version: '2'
services:

  # The Application
  app:
    image: kendozone:local-1.0.0
    working_dir: /var/www
    volumes:
      - codevolume:/var/www
    environment:
      - "DB_DATABASE=homestead"
      - "DB_USERNAME=homestead"
      - "DB_PASSWORD=secret"
      - "DB_PORT=3306"
      - "DB_HOST=database"
    depends_on:
      - database

  # The Web Server
  web:
    build:
      context: ./
      dockerfile: nginx.dockerfile
    working_dir: /var/www
    volumes:
      - codevolume:/var/www
    ports:
      - 8090:80
    depends_on:
      - app

  # The Database
  database:
    image: mysql:5.7
    volumes:
      - dbdata:/var/lib/mysql
    environment:
      - "MYSQL_DATABASE=homestead"
      - "MYSQL_USER=homestead"
      - "MYSQL_PASSWORD=secret"
      - "MYSQL_ROOT_PASSWORD=root"
    ports:
        - "33061:3306"

volumes:
  dbdata:
  codevolume:

任何想法???

1 个答案:

答案 0 :(得分:0)

解决此问题的一种方法是在docker基础映像中使节点可用,然后实际运行npm install和npm run production来构建应用程序的生产就绪映像。