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

如何解决?


当前回答

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 .**

其他回答

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

docker build -t mytag - < Dockerfile-dev

使用以下命令

docker build -t mytag .

注意mytag和dot之间有一个空格。这个点表示当前的工作目录。

是否从其他地方(网页或其他文件)复制了构建命令?试着从头输入。

我从AWS教程中复制了一个构建命令,并将其粘贴到我的终端,并得到了这个错误。我都快疯了。在用手输入之后,它工作了!仔细观察我之前失败的命令,我注意到“破折号”字符是不同的,它比我自己用“减号/破折号”键输入的字符更细,更长。

Bad:

Sudo docker build -t foo。

好:

Sudo docker build -t foo。

你能看出区别吗?复制粘贴很难。

下面的命令对我有用。Docker文件放在my-app-master文件夹中。

docker build -f my-app-master/Dockerfile -t my-app-master

您可以从一个名为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"