docker - Docker 容器无法启动
问题描述
情景:
具有以下 Dockerfile 的自定义映像
FROM node:10
WORKDIR /usr/src/app
ENTRYPOINT ["docker-entrypoint.sh"]
COPY package*.json ./
RUN npm install
COPY . .
EXPOSE 7070
CMD [ "npm", "start"]
我只需键入 docker build 即可构建图像。(来自项目的文件夹)。但是......总是存在一个但是:-(当我执行时:
docker run -d --restart=always <imageid>
容器创建得很好,但是....
CONTAINER ID IMAGE COMMAND
CREATED STATUS PORTS
NAMES
4314ffc2afcb a68faf70e589 "docker-entrypoint.s…" 20
minutes ago Restarting (0) 44 seconds ago
magical_hopper
抱歉,缩进不好,总而言之,我不知道为什么?容器未启动。
我认为问题出在 Dockerfile 上。
PD:我知道这个问题可以重复,但我不明白解决方案(我是使用 docker 的新手,对不起)。
有谁能够帮我?
提前感谢大家。
解决方案
好的 - 问题是 withentrypoint
并且cmd
两者都已定义。
最后,它的等效命令是docker-entrypoint.sh npm start
.
npm
并start
作为参数传递给docker-entrypoint.sh
脚本。
它不会启动 npm,因此它会立即从容器中出来。
首先尝试从 Dockerfile 中删除 ENTRYPOINT
或
使用 docker-entrypoint.shnpm start
在最后包含命令。
推荐阅读
- wix - Wix Toolset RegistrySearch 卸载问题 MSI INFO 1402 “无法打开密钥。验证您对该密钥有足够的访问权限”
- c# - 如何在.net核心中调用带有参数的动作?
- swift - Swift:带有闭包和类型别名的函数语法
- c# - 设置 asp-items 而不获取“当前上下文中不存在该名称”的最简单示例
- sql-server - 子查询不返回值
- reactjs - 如何清除另一个页面中搜索输入字段的值
- react-native - 如何通过 snapchat 广告跟踪应用安装
- git - git describe --tags 不适用于 Jenkins 管道构建
- c - “错误:每当“如果”条件为假时,变量就被使用单元化”是什么意思?
- amazon-web-services - 我可以在动态框架上使用 SQL 上下文吗?