Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/spring-mvc/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
无法启动运行ember.js映像的docker容器,节点\u模块为空_Docker_Ember.js_Docker Compose_Dockerfile - Fatal编程技术网

无法启动运行ember.js映像的docker容器,节点\u模块为空

无法启动运行ember.js映像的docker容器,节点\u模块为空,docker,ember.js,docker-compose,dockerfile,Docker,Ember.js,Docker Compose,Dockerfile,我试图让ember.js在基于图像的docker容器中运行 尝试了Dockerfile和docker compose.yml的不同版本,但我总是使用docker compose up命令来抱怨以下问题: 节点\u模块显示为空,您可能需要运行npm安装 图像和容器已创建,但容器不会启动 我是docker世界的新手,因此任何帮助都将不胜感激 我猜我需要运行npm安装来消除错误,但我将其添加到Dockerfile中,以便在构建映像时运行,但这似乎没有帮助 以下是我的Dockerfile内容: FROM

我试图让ember.js在基于图像的docker容器中运行

尝试了Dockerfile和docker compose.yml的不同版本,但我总是使用docker compose up命令来抱怨以下问题:

节点\u模块显示为空,您可能需要运行
npm安装

图像和容器已创建,但容器不会启动

我是docker世界的新手,因此任何帮助都将不胜感激

我猜我需要运行npm安装来消除错误,但我将其添加到Dockerfile中,以便在构建映像时运行,但这似乎没有帮助

以下是我的Dockerfile内容:

FROM danlynn/ember-cli
WORKDIR /code
COPY package.json /code
COPY bower.json /code
RUN ember init
RUN ember init --yarn
RUN bower --allow-root install
RUN npm install
COPY . /code
CMD ["ember", "serve"]
以及docker-compose.yml文件:

version: "3"
services:
  ember_gui:
    build: .
    container_name: ember_dev
    volumes:
      - .:/code
    ports:
       - "4200:4200"
       - "7020:7020"
       - "5779:5779"
最后,这里是package.json以防万一

{
  "name": "EmberUI",
  "version": "0.0.1",
  "description": "Test app GUI",
  "main": "index.js",
  "author": "Testing",
  "license": "MIT",
  "dependencies": {
    "chai": "^4.1.2",
    "mocha": "^5.2.0"
  }
}

好的,经过多次实验,我能够基于danlynn/ember cli映像在docker中运行一个ember实例

经验教训:

1.-图像显然已设置为在容器中的“myApp”目录中运行。我试图定义一个“代码”目录来放置所有文件,但显然它确实不喜欢这样

2.-在服务上运行ember init安装映像后,需要初始化映像。不确定为什么将命令放入docker文件不起作用,但在使用docker compose启动容器之前,只需运行以下命令:

docker-compose run --rm ember_gui ember init
其中,ember_gui是docker-compose.yml文件中的ember服务名称

3.-余烬初始化将创建大量文件和子目录,因此为了清晰起见,请确保在没有其他内容的目录中运行它

无论如何,这里是我的docker-compose.yml的内容,以防对其他人有用(请注意,我不再使用单独的Dockerfile,而是直接使用图像):

要第一次运行它,请执行以下操作:

docker-compose run --rm ember_gui ember init
docker-compose up
之后,你就可以跑步了

docker-compose up

好的,经过多次实验,我能够基于danlynn/ember cli映像在docker中运行一个ember实例

经验教训:

1.-图像显然已设置为在容器中的“myApp”目录中运行。我试图定义一个“代码”目录来放置所有文件,但显然它确实不喜欢这样

2.-在服务上运行ember init安装映像后,需要初始化映像。不确定为什么将命令放入docker文件不起作用,但在使用docker compose启动容器之前,只需运行以下命令:

docker-compose run --rm ember_gui ember init
其中,ember_gui是docker-compose.yml文件中的ember服务名称

3.-余烬初始化将创建大量文件和子目录,因此为了清晰起见,请确保在没有其他内容的目录中运行它

无论如何,这里是我的docker-compose.yml的内容,以防对其他人有用(请注意,我不再使用单独的Dockerfile,而是直接使用图像):

要第一次运行它,请执行以下操作:

docker-compose run --rm ember_gui ember init
docker-compose up
之后,你就可以跑步了

docker-compose up

谢谢你写下你的解决方案:)谢谢你写下你的解决方案:)