Docker- Unable to find image “hello-world“locally
文章目录
- Docker- Unable to find image “hello-world“locally
- 问题描述
- 一. 切换镜像
- 1. 编辑镜像源
- 2. 切换镜像内容
- 二、 检查设置
- 1、 重启dockers
- 2、 检查配置是否生效
- 3. Docker镜像源检查
- 4. Dokcer执行测试
- 三、自定义镜像测试
- 1. 创建 Dockerfile
- 2.创建脚本文件 hello-world.sh
- 3.构建 Docker 镜像
- 4. 运行 Docker 容器
问题描述
在安装了docker后,通过执行如下指令来检查docker的安装是否成功
sudo docker run hello-world
出现了本地镜像不存在的报错,报错信息如下:
Unable to find image ‘hello-world:latest’ locally
此问题的出现表明当前的本地没有Hello-world对应的镜像包,并且通过默认的镜像源也没有成功的下载到对应的镜相。
一. 切换镜像
1. 编辑镜像源
Docker的镜像地址需要通过修改daemon.json文件来实现指定镜像,通过执行如下指令进行相应的编辑:
sudo gedit /etc/docker/daemon.json
执行界面如下:
2. 切换镜像内容
更新daemon.json的内容如下:
{
"registry-mirrors
": [
"https://docker.m.daocloud.io",
"https://dockerhub.icu",
"https://docker.anyhub.us.kg",
"https://docker.1panel.live"
]
}
为了避免docker日志文件过大的异常,建议同时开启IPV6的功能并限制日志的大小到20m.完成的Json文件内容如下:
{
"log-driver": "json-file",
"log-opts": {
"max-size": "20m",
"max-file": "3"
},
"ipv6": true,
"fixed-cidr-v6": "fd00:dead:beef:c0::/80",
"experimental":true,
"ip6tables":true,
"registry-mirrors": [
"https://docker.m.daocloud.io",
"https://dockerhub.icu
",
"https://docker.anyhub.us.kg",
"https://docker.1panel.live"
]
}
二、 检查设置
1、 重启dockers
sudo systemctl restart docker
执行结果如下:
2、 检查配置是否生效
sudo docker info
执行结果如下,可知对应的镜像已经更新。
3. Docker镜像源检查
通过如下的指令可以确认docker的安装是否成功并确认对应的docker镜像是否成功的切换
sudo docker pull hello world
出现如下界面
4. Dokcer执行测试
通过如下指令可以确认docker是否正确的安装
Sudo docker run hello-world
出现如下界面表明执行成功
三、自定义镜像测试
1. 创建 Dockerfile
创建一个名为 Dockerfile 的文件,并在其中写入以下内容:
# 使用基础镜像
FROM alpine:latest
# 设置工作目录
WORKDIR /app
# 添加脚本文件
COPY hello-world.sh /app/hello-world.sh
# 设置执行权限
RUN chmod +x /app/hello-world.sh
# 设置容器启动命令
CMD ["/app/hello-world.sh"]
2.创建脚本文件 hello-world.sh
在同一目录下创建一个名为 hello-world.sh 的脚本文件,并在其中写入以下内容:
#!/bin/sh
echo "Hello, World!"
3.构建 Docker 镜像
在包含 Dockerfile 和 hello-world.sh 的目录中- 需要切换filepath为自己定义的地址
cd filepath
运行以下命令来构建镜像
docker build -t my-hello-world .
运行成功出现如下界面
4. 运行 Docker 容器
构建完成后,使用以下命令来运行容器:
docker run my-hello-world
运行成功出现如下界面
参考
Docker介绍(四)–docker run 命令在容器内运行一个应用程序: Hello, World
无法拉取 Docker 镜像?树莓派4B 安装Docker并配置Docker镜像源分享