小编jne*_*man的帖子

“ docker run”位于已安装卷中的命令

有没有一种方法可以让Docker在创建容器时执行位于已挂载卷中的命令?

我有一个简单的c程序位于我绑定安装到输出pwd的容器的目录中,然后运行直到被杀死:

flash@dsvm1:~$ ./hello-docker-mount
Hello from /home/flash!
^C
flash@dsvm1:~$ cat hello-docker-mount.c
#include <stdio.h>
#include <unistd.h>
int main()
{
        char cwd[1024];
        getcwd(cwd, sizeof(cwd));
        printf("Hello from %s!\n", cwd);
        for(;;) { sleep(1); }
}
flash@dsvm1:~$ ls /home/flash/hello-docker-mount -al
-rwxrwxr-x 1 flash flash 8728 May 21 22:53 /home/flash/hello-docker-mount
Run Code Online (Sandbox Code Playgroud)

但是,当我尝试使用docker run命令作为命令时,它似乎失败,好像在执行命令后发生了挂载:

flash@dsvm1:~$ docker run -it --name foo --rm -v /home/flash:/home/flash busybox /home/flash/hello-docker-mount
standard_init_linux.go:195: exec user process caused "no such file or directory"
flash@dsvm1:~$ docker run -it --name foo --rm -v /home/flash:/home/flash -w /home/flash busybox /home/flash/hello-docker-mount …
Run Code Online (Sandbox Code Playgroud)

docker

5
推荐指数
1
解决办法
668
查看次数

标签 统计

docker ×1