现在,我创建了一个名为(Dockerfile)的docker文件,如下所示:
当我使用以下命令构建它时:
docker build -f Dockerfile .
我得到以下输出:
Step 1 : FROM ******.dkr.ecr.us-east-1.amazonaws.com/centos-base:7
---> 9ab68a0dd16a
Step 2 : COPY echo_hello.sh /echo_hello.sh
---> Using cache
---> e7d541f5cf53
Step 3 : RUN bash /echo_hello.sh
---> Running in 4b5518faab28
hello world
hello world
.......
但是,当我开始使用以下命令运行它时:
docker run -it d2cc33b16e8f
这不会发生,而是显示错误:
运行以启动应用程序的命令
我在哪里错了?
答案 0 :(得分:0)
您需要将Dockerfile更改为以下内容:
FROM *******.dkr.ecr.us-east-1.amazonaws.com/centos-base:7
COPY echo_hello.sh /echo_hello.sh
RUN chmod u+x /echo_hello.sh
CMD /echo_hello.sh
本页很好地解释了Dockerfile指令:
答案 1 :(得分:0)
RUN
命令在构建时执行(当您执行docker build
时)。您需要的是CMD
或ENTRYPOINT
。这些中的任何一个都设置容器启动时运行的可执行文件(通过docker run
)
您的Dockerfile应该与@Rezney在答案中的内容类似。