/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:找不到命令
QTableView clearSelection 因 ASSERT 失败:文件 /usr/include/qt4/QtCore/qlist.h 中的“!isEmpty()”,第 282 行