Dockerfile:找不到命令
Docker镜像应该运行的是什么:
-bash-4.2$ pwd /u/workspaces/compose/src -bash-4.2$ ls compileAndTest -bash-4.2$ vim compileAndTest #!/usr/bin/env bash echo 'hi'
Dockerfile
-bash-4.2$ pwd /u/mybuild -bash-4.2$ ls Dockerfile -bash-4.2$ vim Dockerfile FROM java WORKDIR /u/workspaces/compose CMD /src/compileAndTest
build立和运行
-bash-4.2$ docker build -t myjavabuild . Sending build context to Docker daemon 3.072 kB Step 1 : FROM java ---> 69a777edb6dc Step 2 : WORKDIR /u/eugenep/workspaces/compose ---> Using cache ---> 583d8616f495 Step 3 : CMD /src/compileAndTest ---> Using cache ---> d0458943d19e Successfully built d0458943d19e -bash-4.2$ docker run myjavabuild /bin/sh: 1: /src/compileAndTest: not found
即使在Dockerfile中指定了可执行的compileAndTest的path,它也没有find
有谁知道为什么?
这里的问题是你没有将/src/compileAndTest
文件复制到容器的文件系统。 您可以使用Dockerfile中的ADD
标签来实现这一点。
FROM java WORKDIR /u/workspaces/compose ADD /u/workspaces/compose/src/compileAndTest /src/compileAndTest RUN chmod +x /src/compileAndTest CMD /src/compileAndTest
从主机添加compileAndTest文件丢失。