我一直在尝试使用Docker Cloud堆栈部署我的应用程序。我已经在本地测试过,还对Docker-Compose进行了测试,他们成功工作了。
但是,当我尝试从我的Docker Cloud堆栈中的Docker Repo中部署我的Docker容器时,它总是停止使用以下代码。
[app-1]2018-02-10T06:09:03.316866500Z script not found : /src/dist/index.js
[app-1]2018-02-10T06:09:03.317330400Z Exiting PM2
[app-1]2018-02-10T06:09:03.442521200Z 0 application online, exiting
[app-1]2018-02-10T06:09:03.442686000Z Exiting PM2
我尝试将src/dist/index.js
设置为dist/index.js
并尝试了许多其他事情,但它们都不适合我。
我的dockerfile看起来像下面。
FROM dooboolab/ubuntu-nodejs-ffmpeg-sharp:latest
WORKDIR /src
COPY package*.json ./
# RUN npm install
RUN npm install --only=production
# If you are building your code for production
# Bundle app source
ADD . /src
EXPOSE 3000
CMD ["pm2-docker", "/dist/index.js"]
和我的堆栈文件很简单。 应用程序: 环境: -Node_env =生产 图片:'my_private_image:最新 端口: - '3000:3000'
再次,当我在本地计算机中从docker仓库构建容器时,my_private_image:latest
的工作正常。
我还能尝试更多地解决此问题?
我找到了解决方案。这是因为在本地,它是参考相对路径。但是,当从docker堆栈中运行时,它是从绝对路径运行的,因此路径不同。
要成功地从Docker-Stack构建,我必须设置图像中的绝对路径并构建它。