/root/start.sh:第 5 行:/usr/bin/pm2:没有这样的文件或目录 - Docker 容器正在重新启动

Posted

技术标签:

【中文标题】/root/start.sh:第 5 行:/usr/bin/pm2:没有这样的文件或目录 - Docker 容器正在重新启动【英文标题】:/root/start.sh: line 5: /usr/bin/pm2: No such file or directory - Docker Container is restarting 【发布时间】:2022-01-05 05:19:01 【问题描述】:

我正在尝试在我的 Ubuntu 20.04 机器上运行此存储库中存在的 docker 容器集群:

https://github.com/Capgemini-AIE/ethereum-docker

我的码头文件:

FROM ethereum/client-go

RUN apk update && apk add bash
RUN apk add --update git bash nodejs npm perl

RUN cd /root &&\
git clone https://github.com/cubedro/eth-net-intelligence-api &&\
cd eth-net-intelligence-api &&\
npm install &&\
npm install -g pm2

ADD start.sh /root/start.sh
ADD app.json /root/eth-net-intelligence-api/app.json
RUN chmod +x /root/start.sh

ENTRYPOINT /root/start.sh

命令:

sudo docker-compose build
sudo docker-compose up -d

已正确完成,但执行时:

docker exec -it ethereum-docker-master_eth_1 geth attach ipc://root/.ethereum/devchain/geth.ipc

我有这个错误:

ERROR: Container 517e11aef83f0da580fdb91b6efd19adc8b1f489d6a917b43cc2d22881b865c6 is restarting, wait until the container is running

原因是,执行:

docker 记录 ethereum-docker-master_eth_1

结果:\

/root/start.sh: line 5: /usr/bin/pm2: No such file or directory\
/root/start.sh: line 5: /usr/bin/pm2: No such file or directory\
/root/start.sh: line 5: /usr/bin/pm2: No such file or directory

为什么我会遇到这个问题?在 Docker 文件中,我有命令:

RUN npm install -g pm2

我该如何解决这个问题?

【问题讨论】:

使用不同的入口点运行容器,例如--entrypoint /bin/sh 和调试 /usr/bin/pm2。是否存在,是否可执行,是否依赖动态库(ldd),是否安装在其他位置等 【参考方案1】:

当我用这个 dockerfile 构建一个镜像然后检查其中的文件时,我发现pm2 安装在/usr/local/bin/pm2

所以您需要将脚本中的调用更改为

/usr/local/bin/pm2

【讨论】:

感谢您的回答!我已经解决了我的问题

以上是关于/root/start.sh:第 5 行:/usr/bin/pm2:没有这样的文件或目录 - Docker 容器正在重新启动的主要内容,如果未能解决你的问题,请参考以下文章

Docker-compose:/usr/local/bin/docker-compose:第 1 行:Not:找不到命令

linux jar开机自启

QTableView clearSelection 因 ASSERT 失败:文件 /usr/include/qt4/QtCore/qlist.h 中的“!isEmpty()”,第 282 行

马哥教育第一阶段考试

5)NFS存储实时复制原理

第5章 软件包管理_源码包安装和脚本安装