前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Docker启动容器出现No Such File Or Directory排查

Docker启动容器出现No Such File Or Directory排查

原创
作者头像
code-x
发布2023-03-22 20:09:51
2.1K0
发布2023-03-22 20:09:51
举报
文章被收录于专栏:code-xcode-x

dockerfile如下

代码语言:shell
复制
FROM alpine
ADD test-backend /test-backend
RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && echo 'Asia/Shanghai' > /etc/timezone
EXPOSE 7099
CMD ["./test-backend", "pro"]

使用docker run创建容器后 启动失败

分享一下排查思路

  1. 由于容器秒退 所以docker exec 比较难操作
  2. dockerfileCMD改为如下项
代码语言:txt
复制
```
代码语言:txt
复制
CMD ["wget", "www.google.com"]
代码语言:txt
复制
```
  1. 使用国内网络的特性使容器在相当一段时间内持续运行, 这样就不会出现容器秒退的情况了
  2. docker exec -it test-backend /bin/sh
  3. 进入容器后查看对应目录/文件是否存在
  4. 手动执行之前dockerfile里的CMD, /test-backend pro, 然后报错了 no such file ....
  5. 在宿主机是可以运行这个程序的, 所以初步判断为docker基础镜像的问题, 将基础镜像更换为centos:7后重新docker builddocker run
  6. 网上有资料说alpine这个镜像虽然小, 但存在很多问题, 比如shell环境不完整等等
  7. 问题解决

谨慎选择基础镜像 越小的镜像缺失的工具越多, 可能存在的问题包括但不限于shell环境不完整, 表现为可执行文件执行不了 ssl等基础库不存在, 无法访问https服务 常用的时区设置方式失效

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
容器镜像服务
容器镜像服务(Tencent Container Registry,TCR)为您提供安全独享、高性能的容器镜像托管分发服务。您可同时在全球多个地域创建独享实例,以实现容器镜像的就近拉取,降低拉取时间,节约带宽成本。TCR 提供细颗粒度的权限管理及访问控制,保障您的数据安全。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档