docker - sh: ./bc2influx: 进入停止的容器时未找到
问题描述
运行 docker 容器时出现问题。
➜ bc_to_influx git:(master) ✗ docker run registry.gitlab.com/xxx/bc_to_influx:latest
standard_init_linux.go:207: exec user process caused "no such file or directory"
当我调试时,我进入停止的容器:
docker commit 0db73216baaf user/test_image
docker run -ti --entrypoint=sh user/test_image
在ls
命令下,我只能执行我的可执行文件:
/bc2influx # ls -al
total 20552
drwxr-xr-x 1 root root 4096 Jun 6 10:32 .
drwxr-xr-x 1 root root 4096 Jun 6 11:53 ..
-rwxr-xr-x 1 root root 21034520 Jun 6 10:29 bc2influx
/bc2influx #
但是当我尝试执行时,我得到:
/bc2influx # ./bc2influx
sh: ./bc2influx: not found
我可以 vi,cat 执行,但不能执行
这是我的 Dockerfile
FROM alpine
WORKDIR /bc2influx/
COPY ./release/bc2influx /bc2influx/
RUN ls -al /bc2influx/
CMD [ "./bc2influx" ]
我以前用以下方式构建我的可执行文件:
go build -o ./release/bc2influx -v -ldflags '-extldflags "-static"' ./...
知道发生了什么吗?
解决方案
看起来像musl
库问题试试这个构建命令go build -ldflags="-s -w"
。
推荐阅读
- ios - UIView drawRect 反复调用
- java - 连接被拒绝:使用 gRPC 的 localhost/0:0:0:0:0:0:0:1:9000
- ios - 在 Swift 中接收到新数据时返回新的 Cell
- sql-server - 当子项没有价格时,需要将父项的价格传递给子项
- python - 如何装饰继承的方法 - Python
- javascript - Angular Toggle 类仅在单个 div 上
- python - 用于python插入的G套件管理员SDK
- sql - SQL 连接以在具有多个表的同一列上使用聚合函数
- r - ggplot2:对于具有离散 y 轴的每个组,将 geom_step() 向上轻推一点
- django - 部署时出现 Django NoReverseMatch 错误