DockerFile 创建镜像遇到的问题

DockerFile 创建镜像遇到的问题

错误信息

docker: Error response from daemon: OCI runtime create failed: container_linux.go:346: starting container process caused “exec: “java”: executable file not found in $PATH”: unknown.

排查错误

从错误信息上来看,是说启动容器的时候找不到可执行文件java,于是我看是观察镜像名和配置中的是否一致。发现一模一样,这就见鬼了!
在这里插入图片描述在这里插入图片描述

万能的Google

百度Google各种查,既然还没有这种错误的帖子,不过看到了相关的帖子。
他们的错误信息为:

docker: Error response from daemon: OCI runtime create failed: container_linux.go:348: starting container process caused “exec: “docker-entrypoint.sh”: executable file not found in $PATH”: unknown.
ERRO[0000] error waiting for container: context canceled

解决方案为:

1、更改文件权限

 chmod +x docker-entrypoint.sh

2、重新build镜像

3、运行容器

很明显在我这里不可用。

错误原因

经过1个小时的折磨,想着算了,一切再来一遍!
在创建JDK镜像的时候由于脚本是Copy的所以当时可能就没太注意直接build了。万万没想到!
在这里插入图片描述
再看看我上传到宿主机上的
在这里插入图片描述
在这里插入图片描述
由于压缩包的名字只写了jdk,导致我当时脑子一抽没注意!

总结原因就是配置中环境变量的jdk文件夹名称和解压后的名字不一致,所以导致环境变量指向的目录是不存在的导致的。

还是得谨慎鸭!!!

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
创建一个混合的Windows和LinuxDocker镜像,你需要进行以下步骤: 1. 安装Docker:首先,你需要在你的计算机上安装Docker。对于Windows,你可以从Docker官方网站上下载并安装适用于Windows的Docker Desktop版本。对于Linux系统,你可以根据你的发行版使用包管理工具来安装Docker。 2. 创建一个DockerfileDockerfile是用来定义Docker镜像的构建过程的文本文件。首先,你需要创建一个Dockerfile,并指定基础镜像。对于Windows平台,你可以选择基于Windows Server Core的镜像作为基础。对于Linux平台,可以选择一个适合你的Linux发行版的镜像。你也可以在Dockerfile中指定其他需要安装和配置的软件包。 3. 构建Docker镜像:使用Docker命令行界面(CLI),在Dockerfile所在的目录中运行以下命令来构建镜像: ``` docker build -t <image_name> . ``` 这将根据Dockerfile中的指令和配置来构建镜像。你可以为镜像指定一个名称。 4. 运行并测试镜像:构建完成后,你可以使用以下命令运行镜像: ``` docker run -it <image_name> ``` 这将在容器中启动基于该镜像的一个实例。你可以在容器内操作和测试镜像中的应用程序。 需要注意的是,由于Windows和Linux使用了不同的内核和运行时环境,因此它们之间的兼容性存在一定的限制。在运行混合镜像时可能会遇到一些平台相关的问题。因此,在创建混合镜像之前,最好进行充分的调研和测试,以确保镜像可以在目标环境中正常运行。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值