Docker容器无法启动

时间:2019-10-18 11:30:18

标签: docker

SCNEARIO:

具有以下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即可构建映像。 (从项目的文件夹中)。但是...总是存在一个but :-(当我执行时:

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的新手)。

有人可以帮助我吗?

预先感谢大家。

1 个答案:

答案 0 :(得分:0)

好的-问题是2019-10-14T09:08:40.000Z entrypoint都已定义。
最后,等效命令为cmd

docker-entrypoint.sh npm startnpm作为参数传递给start脚本。
它不会启动npm,因此它将立即从容器中退出。

尝试首先从Dockerfile中删除ENTRYPOINT

使用docker-entrypoint.sh在末尾包含docker-entrypoint.sh命令。