背景:
HelloWorldMain是我一个简单测试程序,已经是编译好的golang程序
问题:
Dockerfile写完了之后正传 docker build -t 没有问题,也生成了相对应的镜像
如下图
在执行:
docker run --name lhq_ms01 --privileged=true -v /app/microService:/data/app -p 8090:8090 -d lhq_golang_docker:1.6
时候,提示报错信息:docker: Error response from daemon: failed to create shim task: OCI runtime create failed: runc create failed: unable to start container process: exec: "./HelloWorldMain": stat ./HelloWorldMain: no such file or directory: unknown.
如下图
Dockerfile文件内容:
# 依赖于mini-docker
FROM docker.io/alpine:latest
# [2] 创建目录
RUN mkdir -p "/data/app" \
&& ln -sf /dev/stdout /data/app/service.log
# [3] 定义代码路径
WORKDIR /data/app
# [3] 复制可执行文件
COPY HelloWorldMain /data/app
# 服务器端口
EXPOSE 8090
# 启动容器时运行的命令
CMD ["./HelloWorldMain"]
执行docker run的时候就报错了
如果不加上
--privileged=true -v /app/microService:/data/app
``` 这段内容的时候,是可以正常创建启动容器的
想知道为什么会这样,谢谢各位能够助我,感谢!
试试在run的时候在命令末尾加 /bin/bash /data/app/HelloWorldMain