为什么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"
我猜它不能find一个在容器中执行的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 } ]
您的图像基于busybox,它没有bash shell。 它在/bin/sh
有一个shell。
所以这不起作用:
$ 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 / #
由于您的入口点脚本可能会有进一步的复杂性,但您始终可以覆盖该脚本。
- 在Travis-ci内部创build的Docker容器不能提供NGINX端口进行testing
- 当使用docker时,virtualenv是否有用(在生产中)?
- 如何检查docker图像是否有所有的文件?
- 如何从Cassandra数据库的Docker镜像获取.CSV文件到本地机器
- Kubernetes多节点上的Kafka
- 从dockerized应用程序访问localhost PostgreSQL&Redis
- docker-compose不加载在yaml文件中定义的其他env文件
- 我怎样才能确定我的docker组成堆栈连接到哪个networking?
- Docker高山/ etc / hosts不起作用,Google gecoder haning