正在按照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'.

如何解决?


当前回答

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

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

chmod +x "Dockerfile"

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

其他回答

Docker构建命令格式

在powershell中: 出现这种类型的错误是因为您没有在Dockerfile中指定路径。

试试这个:

$ docker build -t friendlyhello:latest -f C:\\TestDockerApp\\Dockerfile.txt

Friendlyhello是你分配给你的容器的名称,并添加版本,只需使用:latest

- f C: \ TestDockerApp \ Dockerfile.txt -你想添加一个标签,因为构建命令需要一个参数或标签 DockerFile是一个文本文档,所以明确添加扩展名。txt

**尝试以下格式:

$ docker build -t friendlyhello:latest -f C:\\TestDockerApp\\Dockerfile.txt .**

你需要在结尾加一个DOT…


例如:

$ docker build -t <your username>/node-web-app .

它有点隐蔽,但如果你注意。最后……

打开PowerShelland并遵循以下说明。 这种类型的错误通常出现在Windows S.O.中 当您使用命令构建时,需要一个选项和路径。

出现这种类型的错误是因为您没有在Dockerfile中指定路径。

试试这个:

C:\Users\Daniele\app> docker build -t friendlyhello C:\Users\Daniele\app\

Friendlyhello是分配给容器的名称 c:\ users \ daniel \app\是包含Dockerfile的路径

如果你想添加一个标签

C:\Users\Daniele\app> docker build -t friendlyhello:3.0 C:\Users\Daniele\app\

只需要在命令的末尾加上一个空格。

例子:

命令:docker build -t "blink:v1"。

在这里你可以看到“blink:v1”然后一个空格然后点(.)

这是它。

您可以从一个名为docker file和Dockerfile的文件构建docker映像。它有一组你在docker容器中需要的命令/指令。 下面的命令创建带有标签latest的图像,Dockerfile应该显示在该位置(。表示当前目录)

docker build . -t <image_name>:latest

如果Dockerfile不是默认文件名(Dockerfile),可以通过-f指定Dockerfile。 Sameple Docker文件内容。

FROM busybox
RUN echo "hello world"