为什么无花果试图在我几乎空的容器中“回声”?

时间:2014-09-30 18:57:57

标签: docker fig

我为Magento数据库和文件系统数据构建了data volume container。它不需要做任何事情,所以我做了它的准系统,只有scratch有几个文件和true-asm所以它可以运行。

然后我写了一个fig.yml文件,将它与mysql和php放在一起:5.4-apache实际上让Magento实例运行。但是第二次时间我运行fig up,数据容器始终无法启动。这是一个简单的例子:

$ cat fig.yml 
magedata:
    image: kojiromike/magedata:empty
    command: /true-asm
$ fig up
Creating docker_magedata_1...
Attaching to docker_magedata_1
docker_magedata_1 exited with code 0
Gracefully stopping... (press Ctrl+C again to force)
$ fig up
Recreating docker_magedata_1...
Cannot start container c3b697f769301bb59a1ced05924990a68a02f1e554c9038f801574ed7c001aa1: exec: "echo": executable file not found in $PATH

为什么fig upecho明确表示要运行command时尝试运行/true-asm

更新(回答评论者的问题)

此图像没有Dockerfile,但可以在fig.yml中设置入口点。如果我确实设置了它,那么在第二次运行时,图似乎会将其重写为echo

$ cat fig.yml 
magedata:
    image: kojiromike/magedata:empty
    command: /true-asm
    entrypoint: /true-asm
$ fig up
Creating foo_magedata_1...
Attaching to foo_magedata_1
foo_magedata_1 exited with code 0
Gracefully stopping... (press Ctrl+C again to force)
$ docker inspect --format='{{.Config.Entrypoint}}' $(docker ps -ql)
[/true-asm]
$ fig up
Recreating foo_magedata_1...
Cannot start container 8a54ac0e60953f1b4e2aaefe5702f04ed1953bed3eea1d8871441a989973fee5: exec: "echo": executable file not found in $PATH
$ docker inspect --format='{{.Config.Entrypoint}}' $(docker ps -ql)
[echo]

1 个答案:

答案 0 :(得分:1)

因为它需要创建一个中间容器才能重新创建具有相同volumes_from和相同名称的容器。无法删除名称并保留volumes_from。

使用echo

创建中间容器

https://github.com/docker/fig/pull/517