正在按照docker网站上的说明构建docker映像。

https://docs.docker.com/examples/running_redis_service/

这是我得到的错误将遵循文档上的说明,并使用这个Dockerfile

FROM        ubuntu:14.04
RUN         apt-get update && apt-get install -y redis-server
EXPOSE      6379
ENTRYPOINT  ["/usr/bin/redis-server"]


sudo docker build -t myrepo/redis
docker: "build" requires 1 argument. See 'docker build --help'.

如何解决?


当前回答

在我的例子中,我使用了一个破折号(稍微长一点的连字符)符号——在t选项出现问题之前。

docker build –t simple-node .

替换为连字符/减号。

docker build -t simple-node .

其他回答

我的问题是Dockerfile.txt需要转换为Unix可执行文件。一旦我这样做了,错误就消失了。

在这样做之前,你可能需要删除。txt部分,但在mac上,进入终端和cd到Dockerfile所在的目录和类型

chmod +x "Dockerfile"

然后它会将您的文件转换为Unix可执行文件,然后由Docker构建命令执行。

您需要添加一个点,这意味着使用本地目录中的Dockerfile。

例如:

Docker build -t mytag。

这意味着你在本地目录中使用Dockerfile,如果你使用docker 1.5,你可以在其他地方指定Dockerfile。从docker build的帮助输出中提取:

-f,——file="" Dockerfile的名称(默认为'Dockerfile')

#Using a file other than Dockerfile instead.
#Supose my file is `Dockerfile-dev`

docker build -t mytag - < Dockerfile-dev

在我的例子中,我使用了一个破折号(稍微长一点的连字符)符号——在t选项出现问题之前。

docker build –t simple-node .

替换为连字符/减号。

docker build -t simple-node .

如果有人在尝试标记-t图像时遇到这个问题,并且还从一个不命名为Dockerfile的文件构建它(即不是简单地使用Dockerfile)。Path),你可以这样做:

Docker build -t my_image -f my_dockerfile

注意,docker期望将目录作为参数,将文件名作为选项。