我一直在尝试使用docker cloud stack部署我的应用。我已经在本地对此进行了测试,并且我还使用docker-compose进行了测试,并且他们成功地进行了测试。
但是,当我尝试从我的docker repo中使用docker cloud stack部署我的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 =生产 image:' my_private_image:latest' 端口: - ' 3000:3000'
同样,当我在本地计算机上使用docker repo构建容器时,my_private_image:latest
工作正常。
我还可以尝试更多来解决这个问题吗?
答案 0 :(得分:0)
我找到了解决方案。 这是因为在本地,它引用了相对路径。 但是,从docker stack运行时,它从绝对路径运行,因此路径不同。
要从docker-stack成功构建,我必须在图像中设置绝对路径并构建它。