Docker中未终止的引号字符串

Docker中未终止的引号字符串,docker,docker-for-windows,Docker,Docker For Windows,我试图在docker命令shell中打印一个循环。当我在第一行运行容器时,它似乎在执行ID时工作,但当我打印日志时,它显示“语法错误:未终止的引号字符串” 我查不出这里出了什么问题?你能帮帮我吗 C:\Users\Anik Barua λ docker run -d --name simple2 busybox /bin/sh -c 'i=0; while true; do echo ; i=1; sleep 1; done' 8bb4bfbe11f24f897ba66bb090e010eed2

我试图在docker命令shell中打印一个循环。当我在第一行运行容器时,它似乎在执行ID时工作,但当我打印日志时,它显示“语法错误:未终止的引号字符串” 我查不出这里出了什么问题?你能帮帮我吗

C:\Users\Anik Barua
λ docker run -d --name simple2 busybox /bin/sh -c 'i=0; while true; do echo ; i=1; sleep 1; done'
8bb4bfbe11f24f897ba66bb090e010eed24fd8cf1685e7c0a41b77abe34f864d

C:\Users\Anik Barua
λ docker logs simple2
while: line 1: syntax error: unterminated quoted string

C:\Users\Anik Barua
λ docker logs -f simple2
while: line 1: syntax error: unterminated quoted string

你的报价不正确,你不应该使用

但是


相反

如果有任何未终止的字符串,请检查您的Dockerfile

ENTRYPOINT ["java","-jar","/dockerdemo-1.0.jar]  
而不是

ENTRYPOINT ["java","-jar","/dockerdemo-1.0.jar"]

我遵循本教程,设置debezium结构以监视sql数据库中的更改。()

问题是用双引号替换“exec…”处的单引号,效果很好

工作版本

docker run -it --rm --name mysqlterm --link mysql --rm mysql:5.7 sh -c "exec mysql -h"$MYSQL_PORT_3306_TCP_ADDR" -P"$MYSQL_PORT_3306_TCP_PORT" -uroot -p"$MYSQL_ENV_MYSQL_ROOT_PASSWORD""

非常感谢,它现在起作用了…您能帮我解决另一个问题吗?现在,程序似乎正在运行,因为光标将移动到下一行,但它没有在控制台中显示数字。您的程序没有回显任何内容,因此它不显示任何内容是正常的,请尝试
echo$i
docker run -it --rm --name mysqlterm --link mysql --rm mysql:5.7 sh -c "exec mysql -h"$MYSQL_PORT_3306_TCP_ADDR" -P"$MYSQL_PORT_3306_TCP_PORT" -uroot -p"$MYSQL_ENV_MYSQL_ROOT_PASSWORD""