(一).公用仓库的调用
1.阿里云镜像加速拉取
2.镜像拉取对nginx的更新
3. 镜像拉取对。。。的使用
(二).私有仓库的创建和使用
1.registry快速搭建私有仓库
2.Harbor的使用
(一).公用仓库的调用
.共有仓库的特点 官方、权威 数量大、种类多
1.阿里云镜像加速拉取
阿里云创建镜像加速器
image.png
点击查看底部的镜像加速器有 加速地址和文档 需要用
image.png
配置镜像加速器
(SAAS) root@ecs-43a6:~# cd /etc/docker
(SAAS) root@ecs-43a6:/etc/docker# ls
key.json
(SAAS) root@ecs-43a6:/etc/docker# vim daemon.json
################################################
此处操作错误,不要跟着进行(错误记录!!)
因为daemon.son创建然后重启导致各种问题?! > 删掉daemon.json重启恢复
image.png image.png
重启docker添加加入的镜像加速器:
(SAAS) root@ecs-43a6:/etc/docker# systemctl daemon-reload 关闭容器
(SAAS) root@ecs-43a6:/etc/docker# systemctl restart docker 重启容器
image.png
systemctl restart docker 命令输入报错问题?!!
image.png
运行docker ps 就会询问你是否有启动docker!!
这个是 未授权:需要身份验证问题!!!
image.png
docker使用报错参考:[https://blog.csdn.net/qq_42114918/article/details/81840335]
其他报错参考。
#################################################
cd etc/docker > vim daemon.json
image image
进行登陆认证,在阿里云界面查看登陆认证方式 填入密码 登录成功!!
上面镜像加速没完成?!下载蛮快的?。。
2.镜像拉取对nginx的更新
从Docker Registry获取镜像 参数:docker pull [选项] [Docker Registry地址] <仓库名>:<标签>
如果不写Registry地址则默认从官方仓库拉取
例如,使用国内镜像:docker pull registry.docker-cn.com/library/centos:6
docker search nginx 查看公共仓库的nginx
docker history nginx:latest 查看本地nginx的现有版本 没有就报错!~
docker pull nginx 通过公共仓库下载nginx
image.png
下载完成后查看nginx的版本发现版本已经更新
image.png
2.1.执行Nginx镜像来生成一个容器
docker run --name [容器名] [选项] -p <主机端>:<映射端口> [仓库名]
-d表示在后台运行 -p表示设置端口 <主机端>:<映射端口>
docker run --name nginxrq -d -p 80:80 nginx
image.png
本地输入localhost,看到nginx默认页面
image.png
可以进入容器,修改一些内容 参数:docker exec -it [containerName] bash
如,执行docker exec -it nginxrq bash
image.png
修改echo '<h1>hello docker</h1>' > /usr/share/nginx/html/index.html,然后exit退出,改变nginx的默认显示主页.
image.png
3. 镜像拉取对。。。的使用
(二).私有仓库的创建和使用
.私有仓库的特点 私密性、安全性高 访问速度快 自主控制、维护性高
Docker是存放仓库的服务器,每个服务器上都可以放置多个仓库,而每个仓库上可以放置多个镜像,每个镜像上可以运行多个容器,每个容器上可以跑一个应用或应用组。
内部网络搭建docker私有仓库可以使内网人员下载和上传都非常快速,不受外网带宽等因素的影响,同时不在内网的人员无法下载我们的镜像
1.registry快速搭建私有仓库
需要配置两个虚拟机环境
(开发机xxx.xxx.xxx.156,私有仓库xxx.xxx.xxx.153)
在153机器上下载registry镜像 docker pull registry
image下载完之后我们通过该镜像启动一个容器 docker run -d -p 5000:5000 registry
后面用到的registry都为容器,换成其他容器如hello-world
后面想还用5000端口必须docker stop id 关闭容器!!!
image默认情况下,会将仓库存放于容器内的/tmp/registry目录下,
如果容器被删除,则存放于容器中的镜像也会丢失,
所以我们一般情况下会指定本地一个目录挂载到容器内的/tmp/registry下
不过具体的情况还是要到容器里去看 先启动容器:
docker run -d -p 3389:3389 -v /opt/data/registry:/tmp/registry registry
imagedocker exec -it 17437c3e89fd241128a91944177cd9058869341864ce091c19c4504b44cbb248 sh
-it 后面的是自己刚启动的容器id名
然后输入ls /tmp/ 可以看到容器存放位置不在/tmp 下!!!
(这儿应该没有registry文件??? 我原本创建有其他docker容器导致的?)
imagedocker run -d -p 3389:3389 -v /opt/data/registry:/var/lib/registry -v /data/config.yml:/etc/docker/registry/config.yml registry
2.Harbor的使用
3.Docker安装Nexus
可能暂时不弄
要用的文档
(https://wenku.baidu.com/view/b91defd28662caaedd3383c4bb4cf7ec4afeb6bb.html)
(https://www.cnblogs.com/Tempted/p/7768694.html)
(https://blog.csdn.net/funtaster/article/details/83268974)
(https://www.cnblogs.com/xiaolebailetu/p/10027399.html)
[https://blog.csdn.net/vicky_lov/article/details/87969943]
https://blog.csdn.net/boling_cavalry/article/details/78818462
不错:[https://blog.51cto.com/5ydycm/2119382]
网友评论