当前位置: 首页 > 面试题库 >

docker ENTRYPOINT上的多个命令

殳睿
2023-03-14
问题内容

我正在尝试构建自定义的tcserver docker映像。但是我在启动Web服务器和tomcat时遇到了一些问题。
据我了解,我应该使用ENTRYPOINT运行我想要的命令。
问题是,是否可以使用ENTRYPOINT运行多个命令?
还是应该创建一个小的bash脚本来全部启动?

基本上我想做的是:

ENTRYPOINT /opt/pivotal/webserver/instance1/bin/httpdctl start && /opt/pivotal/webserver/instance2/bin/httpdctl start && /opt/pivotal/pivotal-tc-server-standard/standard-4.0.1.RELEASE/tcserver start instance1 -i /opt/pivotal/pivotal-tc-server-standard && /opt/pivotal/pivotal-tc-server-standard/standard-4.0.1.RELEASE/tcserver start instance2 -i /opt/pivotal/pivotal-tc-server-standard

但是我不知道这是否是一个好习惯,或者是否可行。


问题答案:

如果要在入口点运行许多命令,最好的想法是创建一个bash文件。例如 commands.sh像这样的

#!/bin/bash
mkdir /root/.ssh
echo "Something"
cd tmp
ls
...

然后,在DockerFile中,将入口点设置为commands.shfile(在其中执行并运行所有mand )

COPY commands.sh /scripts/commands.sh
RUN ["chmod", "+x", "/scripts/commands.sh"]
ENTRYPOINT ["/scripts/commands.sh"]

之后,每次启动容器时。commands.sh将执行并运行您需要的所有命令。你可以在这里看看https://github.com/dangminhtruong/drone-
chatwork



 类似资料:
  • 问题内容: 我有一个Excel文件,我想更新工作表中的多行。所以我写了这段代码: 我得到这个错误: 查询表达式’id = 1更新[Data14City $]中的语法错误(缺少运算符),设置B_1_1 = 0,B_1_2 = 8,B_1_3 = 17,B_1_4 = 0,其中id = 2’。 当我添加到此行时: 我收到此错误: SQL语句结束后找到的字符。 如何在Excel中执行多条语句? 谢谢 问

  • 问题内容: 我在远程计算机上有一个Java程序。它在同一文件夹中有一个配置文件。当我通过SSH进入计算机时,我会执行以下操作: 这里的问题是配置文件不在路径中,因为我们在主文件夹中,所以我的程序无法读取配置。 我想先进入该文件夹,然后从该文件夹运行程序。在shell脚本中,如果我这样做 它执行第一条语句,第二条语句运行时,它在我的当前计算机而不是远程计算机上运行。 我们可以只执行一个命令还是对此有

  • 我正在尝试用docker容器中的一个表建立一个数据库。为了正确运行数据库,我需要运行以下命令: bash:--:无效选项db_1用法:bash[GNU long option][option]... db_1 bash[GNU long option][option]脚本-文件... db_1 GNU long options: db_1--debugg db_1--debugger\ 如果“ba

  • 在SQL Server中,我有一个数据库< code>abc。在这个数据库中,我有数百个表。这些表格中的每一个都被称为< code>xyz.table 我想把所有的表格都改成< code>abc.table。 我们有办法将数据库< code>abc中的所有名称从< code>xyz.table更改为< code>abc.table吗? 我可以通过将每个表的模式更改为abc来手动更改名称

  • 我对pytest的一个命令行参数没有问题。 运行程序时: 我得到了预期的回应: 当我尝试多个参数时,我会遇到问题 _____________________________________设置测试应答器2时出错/usr/local/penguin/home/px09/p001/test-suite.py,第9行def测试应答器2(cmdopt2):未找到E夹具“cmdopt2” /usr/loca

  • 我使用SpringBoot创建了一个SOAP Web服务服务器,并且我能够成功创建一个endpoint。但是,我无法创建多个endpoint并使用不同的URL访问它们。我想通过URL来访问处理该过程。 每个endpoint接收到的SOAP消息具有相同的模式。(命名空间和localpart是相同的!!!)我不想公开WSDL。 例如。 userA向以下URL发送以下SOAP消息:http://soap