首页 > 解决方案 > 附加卷 -v 时 Docker 设置入口点

问题描述

以前,我可以将桌面上的文件夹作为附加到容器中,如下所示:

docker run -it --rm -v /Users/me/Desktop/Jupyter:/home/jovyan/work -p 8888:8888 jupyter/all-spark-notebook

然而,当我跑...

docker run -it -v /Users/me/Desktop/nfscripts:/usr nextflow/nextflow /bin/bash

...我收到以下错误

docker: Error response from daemon: OCI runtime create failed: container_linux.go:345: starting container process caused "exec: \"/usr/local/bin/entry.sh\": stat /usr/local/bin/entry.sh: no such file or directory": unknown.

当我启动交互式会话并检查目录时,我得到了基础/并且可以看到usr目录。

$ docker run -it nextflow/nextflow /bin/bash
$ pwd
/
$ ls
bin  dev  etc  home  lib  media  mnt  opt  proc  root  run  sbin  srv  sys  tmp  usr  var

/usr/local/bin/entry.sh从 Cmd 中识别出来,它肯定存在,因为我可以 cat 它。

            "Cmd": [
                "/bin/sh",
                "-c",
                "#(nop) ",
                "ENTRYPOINT [\"/usr/local/bin/entry.sh\"]"
            ],

我是否:/usr因为在入口点的路径中而不允许挂载?

标签: dockerdocker-volume

解决方案


您需要挂载指定的入口点,该入口点可能与您启动交互式会话的目录不同:

docker run -it --rm -v /Users/me/Desktop/nfscripts:/usr/local/bin/entry nextflow/nextflow /bin/bash

推荐阅读