Как найти исполняемый файл в docker - PullRequest
0 голосов
/ 05 августа 2020

Я был озадачен тем, как docker найти файл execalbe:

Dockfile:

FROM    alpine:3.12.0

ADD for.sh /bin/abc
RUN chmod +x /bin/abc
RUN which abc

# case 1: /bin/sh: abc: not found
CMD abc

# case 2: succ
CMD sh /bin/abc

# case 3: succ
CMD /bin/sh /bin/abc

журнал case 1:

Step 1/5 : FROM    alpine:3.12.0
 ---> a24bb4013296
Step 2/5 : ADD for.sh /bin/abc
 ---> bdebf36951e5
Step 3/5 : RUN chmod +x /bin/abc
 ---> Running in 238cfcd6540b
Removing intermediate container 238cfcd6540b
 ---> 7eb4c0f63b56
Step 4/5 : RUN which abc
 ---> Running in f297512e9af9
/bin/abc
Removing intermediate container f297512e9af9
 ---> a046f42f7fcb
Step 5/5 : CMD abc
 ---> Running in 1e8c65974c30
Removing intermediate container 1e8c65974c30
 ---> 5275d3f6cdc7
Successfully built 5275d3f6cdc7
Successfully tagged hello:latest
[liuqing18->T5P hello]$ docker run -it -v ~/Desktop/tmp:/log hello
/bin/sh: abc: not found

Я добавляю ab c в $ PATH, почему не удается найти ab c? Я также пробовал относительный путь, не работает. Как docker найти найти?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...