docker镜像报错,找不到bash或者sh命令,无法启动镜像

字号+ 编辑: 国内TP粉 修订: 种花家 来源: 原创 2024-08-23 我要说两句(0)

前提是你的服务器或者操作机子里面事先已经安装了docker。

如果你在mac系统里拉取镜像,传给linux系统,再输入了这样的命令去开启容器

docker run -itd --name testx xxxx:stable-slim bash

可能会得到一个无法运行bash的报错消息,具体的报错文本可能是这样的:

docker: Error response from daemon: OCI runtime create failed: container_linux.go:380: starting container process caused: exec: "bash": executable file not found in $PATH: unknown.

你可以试试以下方式解决:

第一种解决方式

如果生产服务器是linux系统,在linux系统里面用docker pull xxx拉取docker镜像。而不是在苹果系统里面拉镜像再导出到服务器里面。

备用方式:用Dockerfile构建镜像

新建名为Dockerfile的文件,内容如下

# 使用最新的 Debian stable-slim 镜像作为基础镜像
FROM debian:stable-slim

# 设置环境变量,定义时区
ENV DEBIAN_FRONTEND=noninteractive
ENV TZ=Asia/Shanghai

# 更新软件包列表,并安装 bash,清理apt缓存
RUN apt-get update && apt-get install -y --no-install-recommends \
    bash \
    && rm -rf /var/lib/apt/lists/*

# 可选:设置默认的 CMD 命令,当容器启动时运行 bash
CMD ["bash"]

保存退出,并在当前路径输入以下命令

docker build -t 随便起一个镜像名 .


阅完此文,您的感想如何?
  • 有用

    1

  • 没用

    0

  • 开心

    0

  • 愤怒

    0

  • 可怜

    0

1.如文章侵犯了您的版权,请发邮件通知本站,该文章将在24小时内删除;
2.本站标注原创的文章,转发时烦请注明来源;
3.Q群: 2702237 13835667

相关课文
  • 防止退出linux终端退出之后导致的nohup进程强制退出

  • Linux系统下word文档转成pdf的办法

  • ubuntu和debian安装nginx或者tengine报错, 找不到pcre依赖库的解决办法

  • linux终端下借助awk命令查询筛出网站access.log日志里的统计信息

我要说说
网上嘉宾点评