使用docker run命令将参数传递给docker容器

时间:2017-06-23 10:30:39

标签: unix docker parameters

我使用下面提到的Dockerfile创建了一个docker镜像。图像中有一个jar文件,需要很少的参数来运行它。我使用docker run命令传递参数,但它会引发错误。查找下面的详细信息。

Dockerfile内容

FROM ubuntu:14.04

ENV http_proxy http://http.proxy.nxp.com:7000
ENV https_proxy http://http.proxy.nxp.com:7000

RUN apt-get update

<set of lines for installing java is here>

ENV JAVA_HOME /usr/lib/jvm/java-8-oracle

copy apache-jmeter-3.1 /apache-jmeter-3.1
RUN mkdir /jarloc
copy Test.jar /jarloc
RUN java -version
ENTRYPOINT [ java -jar /jarloc/Test.jar ]
RUN ls -l /jarloc

我创建了一个名为jmaster:1.0的图像,并给出了以下命令来旋转容器。

docker run jmaster:1.0  http://win_loc/soasta_parent/soasta/MyPOC/Login_Data.csv http://win_loc/soasta_parent/soasta/MyPOC/Dpc_data.csv 30 300 30

这给了我以下错误。

  

http://win_loc/soasta_parent/soasta/MyPOC/Login_Data.csv:1:[:   失踪]

我可以从docker里面运行这个脚本(docker run -it jmaster:1.0 / bin / bash)。它给了我正确的输出。但是当我尝试在docker run命令中传递参数时,我收到此错误。我是以错误的方式传递此信息还是有其他方法可以这样做?

当我使用&#39; docker run -it imagename / bin / bash&#39;进入docker时并执行以下,我从jar获得正确的结果。

/jarloc#java -jar Test.jar http://win_loc/soasta_parent/soasta/MyPOC/Login_Data.csv http://win_loc/soasta_parent/soasta/MyPOC/Dpc_data.csv 30 300 30

1 个答案:

答案 0 :(得分:2)

尝试

ENTRYPOINT ["java","-jar","/jarloc/Test.jar"]

这应该采用docker run

中的参数