docker镜像
docker镜像
1、镜像是什么
镜像是什么?
• 一个分层存储的文件,不是一个单一的文件
• 一个软件的环境
• 一个镜像可以创建N个容器
• 一种标准化的交付
• 一个不包含Linux内核而又精简的Linux操作系统
2、镜像下载
方法 1:从公网 docker hub 拉取(下载)image
[root@docker ~]## docker pull centos ##默认不加版本号的话,是使用latest版本。
Using default tag: ladockerError response from daemon: Get https://registry-1.docker.io/v2/: net/http: TLS handshake timeout
##可能会报错,因为网络的问题,无法连接到 dockerhub 下载镜像,可以多次尝试下载下。
##下载速度很慢,真的很慢。
##解决:使用vpn或者换一个国内的 docker 镜像下载地址(常见的有阿里云,清华源,163等);
方法 2:使用阿里云 docker 镜像加速器,提升 pull 的速度【荐】
1.获取阿里云自己专有的镜像加速器地址
你只需要登录容器Hub服务 [https://cr.console.aliyun.com的控制台,使用你的支付宝帐号,第一次登录时,需要设置一个独立的密码,左侧的加速器帮助页面就会显示为你独立分配的加速地址.](https://cr.console.aliyun.xn--com-s18da6w2d20dcrxvga87aprh8yjuah7cea1nm2xdeu48c59dsk760go3av3f84rp7aeza51yl89asik2ngjucv06eewzdma428s8zl5jagndl442oxind2rra048bkq1e7m3gllya4o5coa127nvi9eeueyxs6u98ljagl.)
##本人的阿里云镜像加速器地址为:
https://kvuwuws2.mirror.aliyuncs.com
##命令如下:
sudo mkdir -p /etc/dockersudo
tee /etc/docker/daemon.json <<-'EOF
'{
"registry-mirrors": ["https://kvuwuws2.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
####### 📍 说明:docker常见国内镜像仓库源
1.默认docker镜像仓库地址:
https://index.docker.io/v1/
2.国内常见docker镜像仓库地址
https://kvuwuws2.mirror.aliyuncs.com ##自己阿里云docker镜像加速地址
http://hub-mirror.c.163.com ##网易
https://dockerhub.azk8s.cn ##上海蓝云网络科技有限公司
镜像源可以添加多个,根据自己的网络环境选择速度快的,这里给大家添加了 3 个老师常用的(阿里、网易、上海蓝云网络科技有限公司):
mkdir -p /etc/docker
tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors":["https://kvuwuws2.mirror.aliyuncs.com","http://hub-mirror.c.163.com","https://dockerhub.azk8s.cn"]
}
EOF
systemctl daemon-reload
systemctl restart docker
##扩展:azk8s.cn 这个域名是上海蓝云网络科技有限公司的。上海蓝云网络科技有限公司于2013年3月成立,由世纪互联与门为在中国境内提供Windows Azure和 Office 365 服务而成立,为世纪互联的全资子公司。
2.配置docker镜像地址
##直接执行如下代码即可:
mkdir -p /etc/docker
tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors":["https://kvuwuws2.mirror.aliyuncs.com","http://hub-mirror.c.163.com","https://dockerhub.azk8s.cn"]
}
EOF
systemctl daemon-reload
systemctl restart docker
备注:
##我们在安装了docker服务后,默认在就会生成/etc/docker目录了,以上命令再次创建了/etc/docker目录,是没问题的,原来目录下的文件不会被覆盖的;
验证:
在最后,可以看到镜像仓库的地址,已经改为阿里云了,原来默认镜像仓库的地址还在,但是默认会优先使用刚添加的阿里云地址的;
[root@docker ~]##docker info
再下载,就可以了,可以发现下载速度贼快:
[root@docker ~]##docker images
[root@docker ~]##docker pull centos
- 还有另一种方法:修改 docker 服务启动脚本**(不推荐使用)**
##以下只是提供了一种方法,本次并未采用此种方式。
[root@docker ~]## vim /usr/lib/systemd/system/docker.service
改:14 ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock
为:14 ExecStart=/usr/bin/dockerd -H fd:// --registry-mirror=https://kvuwuws2.mirror.aliyuncs.com --containerd=/run/containerd/containerd.sock
重启 docker 服务使 daemon.json 生效
[root@docker ~]## systemctl daemon-reload ##叧有修改了 systemd 服务脚本,才需要重新加载。如果修改配服务的置文件,不需要执行这个。
[root@docker ~]## systemctl restart docker