【发布时间】:2016-01-27 02:08:57
【问题描述】:
我一直在阅读此处链接的用户指南: Docker User Guide: Containers。 我在 docker 终端中运行了这个命令:
$ docker run -d ubuntu:14.04 /bin/sh -c "while true; do echo hello world; sleep 1; done"
这应该创建一个在后台运行的容器。但是,当我查看它是否正在运行时,使用:
$ docker ps -a
它显示容器已创建但已停止运行。 容器的日志包含以下内容:
true;: 1: true;: Syntax error: end of file unexpected
在不尝试创建守护程序的情况下运行命令会产生类似的结果:
$ docker run ubuntu:14.04 /bin/sh -c "while true; do echo hello world; sleep 1; done"
true;: 1: true;: Syntax error: end of file unexpected
我猜我的脚本中有语法错误,但我没有看到。任何建议表示赞赏。
(This 问题有些相似,可能是相关的)。
编辑一些附加信息:我在 Windows 7 中运行 Docker,使用 Docker 快速启动终端
EDIT2 下面接受的答案对我有用,除了我必须将“默认”附加到一些命令,以指定我正在与默认机器交谈。
【问题讨论】:
-
您是否尝试过在实际的系统 shell 中而不是在 docker 终端中运行它?如果命令是从不保留或不理解单词边界的东西运行的,这就是你会得到的。
-
@thatotherguy 我不认为“码头工人终端”是一回事。但我想我记得在传递给 docker 的命令中看到类似的问题,并且“解析”很愚蠢。
-
你用的是什么版本的docker?你用的是什么外壳?
-
我使用的是 docker 版本 1.9.1。我不完全确定“shell”是什么意思,但如果有帮助的话,我正在使用 Docker 快速入门终端。
-
您使用的是什么操作系统?你在使用虚拟机吗?
标签: shell docker syntax-error ubuntu-14.04