gpt4 book ai didi

docker - 无法创建Docker容器

转载 作者:行者123 更新时间:2023-12-02 19:16:32 26 4
gpt4 key购买 nike

我在ubuntu系统版本18.04(LTS)上安装了一个docker。但是,当我运行用于从内置镜像创建简单Hellow-world容器的命令时,出现以下错误
我使用的命令:sudo docker run docker/whalesay cowsay Hello-World!我得到的错误:Unable to find image 'docker/whalesay: latest' locally同样,在等待一分钟后,它会自动开始创建容器,但过一会儿又会遇到超时错误。

latest: Pulling from docker/whalesay Image 
docker.io/docker/whalesay:latest uses outdated schema1 manifest format.
Please upgrade to a schema2 image for better future compatibility. More information at https://docs.docker.com/registry/spec/deprecated-schema-v1/
e190868d63f8: Downloading 5.897MB/65.77MB 909cd34c6fd7: Download complete
0b9bfabab7c1: Download complete a3ed95caeb02: Download complete
00bf65475aba: Downloading 6.212MB/37.71MB c57b6bcc83e3: Download complete
8978f6879e2f: Downloading 8eed3712d2cf: Waiting docker: net/http: request canceled (Client.Timeout exceeded while awaiting headers). See 'docker run --help'.
我不知道在哪里可以纠正

最佳答案

首先,当您不指定标签时说Unable to find image 'docker/whalesay:latest' locally

A docker image is defined by repo/name:tag


之后,如您所读 https://docs.docker.com/registry/spec/deprecated-schema-v1/一样,您正在下载使用docker schema v1生成的镜像(该镜像是使用不推荐使用的docker版本生成的),并且您的docker版本使用schema-v2。
因此,一种可能性应该是安装使用schema-v1的docker先前版本,但不建议这样做,因为它仅适用于已弃用的架构镜像。
另一种可能性是在 docker run命令之前使用Dockerfile自己生成镜像。
Dockerfile https://hub.docker.com/r/docker/whalesay/
FROM ubuntu:14.04

# install cowsay, and move the "default.cow" out of the way so we can overwrite it with "docker.cow"
RUN apt-get update && apt-get install -y cowsay --no-install-recommends && rm -rf /var/lib/apt/lists/* \
&& mv /usr/share/cowsay/cows/default.cow /usr/share/cowsay/cows/orig-default.cow

# "cowsay" installs to /usr/games
ENV PATH $PATH:/usr/games

COPY docker.cow /usr/share/cowsay/cows/
RUN ln -sv /usr/share/cowsay/cows/docker.cow /usr/share/cowsay/cows/default.cow

CMD ["cowsay"]
将下一个docker.cow放置在与Dockerfile相同的文件夹中。
docker.cow
##
## Docker Cow
##
$the_cow = <<EOC;
$thoughts
$thoughts
$thoughts
## .
## ## ## ==
## ## ## ## ===
/""""""""""""""""\___/ ===
~~~ {~~ ~~~~ ~~~ ~~~~ ~~ ~ / ===- ~~~
\\______ o __/
\\ \\ __/
\\____\\______/
EOC
最后,在执行docker run命令之前执行docker build,然后根据schema-v2生成docker镜像。
sudo docker build -t docker/whalesay:latest . 
sudo docker run docker/whalesay cowsay Hello-World!
如果您编辑另一个file.cow可以创建自己的whalesay docker镜像。
为了使用您自己的命令,我创建了名称为docker / whalesay:latest的镜像,但是您可以设置自己喜欢的名称。建议使用您的用户docker hub仓库(如果有),因为不允许docker push来进行docker / whalesay:latest。

关于docker - 无法创建Docker容器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63324730/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com