为什么Docker不能执行'bash'?
我在MacOSX上使用Docker(带有Boot2Docker)。
我可以从Docker Hub运行映像。
但是,当我尝试像这样运行自己的映像之一时:
docker run -P mylocalimage
要么
docker run -P mylocalimage bin/a3-write-back
要么
...
我得到:
docker "env: can't execute 'bash': No such file or directory"
我猜它找不到在容器中执行的bash二进制文件,但是为什么呢?
基本图像是 errordeveloper/oracle-jdk
谢谢你的帮助。
阿什莉
[{
"Architecture": "amd64",
"Author": "ABC email@email.com",
"Checksum": "tarsum.dev+sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
"Comment": "",
"Config": {
"AttachStderr": false,
"AttachStdin": false,
"AttachStdout": false,
"Cmd": [],
"CpuShares": 0,
"Cpuset": "",
"Domainname": "",
"Entrypoint": [
"bin/a3-write-back"
],
"Env": [
"PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/jdk1.8.0_25/bin",
"JAVA_HOME=/usr/jdk1.8.0_25"
],
"ExposedPorts": null,
"Hostname": "5bf0de3d0926",
"Image": "abd65ce243a5b015bb49f3e958103a5cc0c5f14938df4e480ded25f3ecf878e7",
"MacAddress": "",
"Memory": 0,
"MemorySwap": 0,
"NetworkDisabled": false,
"OnBuild": [],
"OpenStdin": false,
"PortSpecs": null,
"StdinOnce": false,
"Tty": false,
"User": "daemon",
"Volumes": null,
"WorkingDir": "/opt/docker"
},
"Container": "987d2279b6e42195fe8e732c0637798926db6cfaeab93fcc25a3f10dac73f111",
"ContainerConfig": {
"AttachStderr": false,
"AttachStdin": false,
"AttachStdout": false,
"Cmd": [
"/bin/sh",
"-c",
"#(nop) CMD []"
],
"CpuShares": 0,
"Cpuset": "",
"Domainname": "",
"Entrypoint": [
"bin/a3-write-back"
],
"Env": [
"PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/jdk1.8.0_25/bin",
"JAVA_HOME=/usr/jdk1.8.0_25"
],
"ExposedPorts": null,
"Hostname": "5bf0de3d0926",
"Image": "abd65ce243a5b015bb49f3e958103a5cc0c5f14938df4e480ded25f3ecf878e7",
"MacAddress": "",
"Memory": 0,
"MemorySwap": 0,
"NetworkDisabled": false,
"OnBuild": [],
"OpenStdin": false,
"PortSpecs": null,
"StdinOnce": false,
"Tty": false,
"User": "daemon",
"Volumes": null,
"WorkingDir": "/opt/docker"
},
"Created": "2015-01-13T05:25:38.467586784Z",
"DockerVersion": "1.4.1",
"Id": "ddbd5d3f52cc5fd41605c95e4525cd2f3e0808a3741b3f8d77f46f0661945f7b",
"Os": "linux",
"Parent": "abd65ce243a5b015bb49f3e958103a5cc0c5f14938df4e480ded25f3ecf878e7",
"Size": 0,
"VirtualSize": 390826666
}
]
-
您的图片基于不带bash外壳的busybox。它的确有外壳
/bin/sh
。所以这不起作用:
$ docker run -it busybox bash exec: "bash": executable file not found in $PATH2015/01/15 11:09:08 Error response from daemon: Cannot start container a5074af2f81f8cc1eb0076f4ec9ada5f87be1440006f54a9b06ab701fc60176a: exec: "bash": executable file not found in $PATH
但这确实是:
$ docker run -it busybox /bin/sh / #
由于您的入口点脚本,可能还会带来更多复杂性,但是您始终可以覆盖它。
-
为什么不能在osx中本地安装docker?
2021-02-01 关注 0 浏览102 1答案
-
为什么不能在Bash For-loop中使用Unix Nohup?
2021-02-02 关注 0 浏览108 1答案
-
为什么不能多次使用Docker CMD来运行多个服务?
2021-02-01 关注 0 浏览162 1答案
-
为什么我的docker-entrypoint.sh无法执行?
2021-02-01 关注 0 浏览1141 1答案
-
为什么 #!/usr/bin/env bash 优于 #!/bin/bash?
2022-05-26 关注 0 浏览16 1答案
-
在主机上执行“ ps aux”时,为什么可以看到Docker容器进程?
2021-02-01 关注 0 浏览146 1答案
-
为什么FullAjaxExceptionHandler不能简单地执行ExternalContext#redirect()?
2021-01-31 关注 0 浏览105 1答案
-
为什么安装了 Docker 而不是 Docker Compose?
2022-07-28 关注 0 浏览13 1答案
-
为什么“ docker Attach”挂起?
2021-02-01 关注 0 浏览114 1答案
-
已安装Docker但未安装Docker Compose吗?为什么?
2021-02-01 关注 0 浏览158 1答案