使用Jenkins docker插件转义双引号字符

使用Jenkins docker插件转义双引号字符,docker,jenkins,Docker,Jenkins,我想使用Jenkins docker插件启动一个容器,如下所示: docker.image('microsoft/mssql-server-linux').run("\"ACCEPT_EULA=Y\" -e \"SA_PASSWORD=P@ssword1\" --name SQLLinuxMaster -d -i -p 15565:1433") 我最初的想法是\“应该可以工作,但是当我运行构建命令失败时,我查看Jenkins日志,发现(我认为应该是)转义的双引号没有出现 有人能给我指出正确的方

我想使用Jenkins docker插件启动一个容器,如下所示:

docker.image('microsoft/mssql-server-linux').run("\"ACCEPT_EULA=Y\" -e \"SA_PASSWORD=P@ssword1\" --name SQLLinuxMaster -d -i -p 15565:1433")
我最初的想法是\“应该可以工作,但是当我运行构建命令失败时,我查看Jenkins日志,发现(我认为应该是)转义的双引号没有出现

有人能给我指出正确的方向吗?我应该如何正确地转义run参数中的双引号字符

使用传统的docker命令行,可根据需要旋转容器:

docker run -e "ACCEPT_EULA=Y" -e "SA_PASSWORD=P@ssword1" --name SQLLinuxChris -d -i -p 15565:1433 microsoft/mssql-server-linux
你可以用

docker.image('microsoft/mssql-server-linux').run("-e ACCEPT_EULA=Y -e SA_PASSWORD=P@ssword1 --name SQLLinuxMaster -d -i -p 15565:1433")
您不需要双引号。另外,您在开始时缺少了一个
-e
,这可能导致您可以使用的问题

docker.image('microsoft/mssql-server-linux').run("-e ACCEPT_EULA=Y -e SA_PASSWORD=P@ssword1 --name SQLLinuxMaster -d -i -p 15565:1433")

您不需要双引号。另外,您在开始时缺少了一个
-e
,这可能导致了问题

谢谢,这似乎完成了任务。谢谢,这似乎完成了任务。