【发布时间】:2017-01-19 15:20:48
【问题描述】:
我正在尝试将单个 docker 容器部署到弹性 beanstalk 和我的运行命令 gulp production && node server.js。 Docker 不断抛出错误Local gulp not found in /app/user ... try running npm install gulp。我尝试在我的 package.json 文件中将 gulp 列为 depdency 和 devDependecy,但这并不能解决问题。我还尝试在我的 Dockerfile 中全局安装 gulp。
谁能告诉我我的设置有什么问题?这是我的文件:
Dockerfile
FROM node:6.5.0
# Internally, we arbitrarily use port 3000
ENV PORT 3000
# Create some needed directories
RUN mkdir -p /app/user/
WORKDIR /app/user/
# setup path
ENV PATH /app/user/node_modules/.bin:$PATH
RUN npm install -g gulp
# Install vim
RUN apt-get update && apt-get --yes --force-yes install vim
# Setup app
ADD package.json /app/user/
RUN cd /app/user && npm install
# ADD . /app/user/
EXPOSE 3000
CMD gulp production && node server.js
Dockerrun.aws.json
{
"AWSEBDockerrunVersion": "1",
"Logging": "/var/log/pm2",
"Volumes": [
{
"HostDirectory": "/var/app/current",
"ContainerDirectory": "/app/user"
}
]
}
【问题讨论】:
-
你需要在本地安装 gulp(在你的 package.json、devDependencies 中列出)。
-
@Alkaline 我已经将 gulp 列为 devDependency 甚至尝试将其列为依赖项。这并没有解决问题。我还尝试在我的 docker 文件中全局安装 gulp。
标签: node.js amazon-web-services docker amazon-elastic-beanstalk dockerfile