
🚀 欢迎来到我的CSDN博客:Optimistic _ chen
✨ 一名热爱技术与分享的全栈开发者,在这里记录成长,专注分享编程技术与实战经验,助力你的技术成长之路,与你共同进步!
🚀我的专栏推荐:
| 专栏 | 内容特色 | 适合人群 |
|---|---|---|
| 🔥C语言从入门到精通 | 系统讲解基础语法、指针、内存管理、项目实战 | 零基础新手、考研党、复习 |
| 🔥Java基础语法 | 系统解释了基础语法、类与对象、继承 | Java初学者 |
| 🔥Java核心技术 | 面向对象、集合框架、多线程、网络编程、新特性解析 | 有一定语法基础的开发者 |
| 🔥Java EE 进阶实战 | Servlet、JSP、SpringBoot、MyBatis、项目案例拆解 | 想快速入门Java Web开发的同学 |
| 🔥Java数据结构与算法 | 图解数据结构、LeetCode刷题解析、大厂面试算法题 | 面试备战、算法爱好者、计算机专业学生 |
| 🔥Redis系列 | 从数据类型到核心特性解析 | 项目必备 |
🚀我的承诺:
✅ 文章配套代码:每篇技术文章都提供完整的可运行代码示例
✅ 持续更新:专栏内容定期更新,紧跟技术趋势
✅ 答疑交流:欢迎在文章评论区留言讨论,我会及时回复(支持互粉)
🚀 关注我,解锁更多技术干货!
⏳ 每天进步一点点,未来惊艳所有人!✍️ 持续更新中,记得⭐收藏关注⭐不迷路 ✨
📌 标签:#技术博客 #编程学习 #Java #C语言 #算法 #程序员
文章目录
- [Docker Registry(镜像仓库)](#Docker Registry(镜像仓库))
- [Docker Registry命令](#Docker Registry命令)
-
- [docker login 和 docker logout](#docker login 和 docker logout)
- [docker pull](#docker pull)
- [docker push](#docker push)
- [docker search](#docker search)
- 搭建Nginx服务器
- 阿里云创建私有仓库
- 完结撒花!🎉
Docker Registry(镜像仓库)

Docker Registry(Docker仓库):直译过来就是Docker 仓库,因为这个仓库里面存放的是镜像,所以也叫镜像仓库。负责存储、管理和分发镜像,并且提供了登录认证能力,建立了仓库的索引。
镜像仓库管理多个Registry,仓库根据命名来区分,每个仓库包含一个或者多个镜像,镜像通过镜像名称和Tag(标签)来区分。

镜像仓库:在拉取镜像时,我们通过DNS或IP地址定位镜像仓库 。每个仓库可以包含多个子仓库,并分为顶层仓库和用户仓库两种类型。其中,用户仓库的命名格式为"用户名/仓库名" 。每个仓库下包含多个Tag标签 ,每个标签对应一个具体的镜像版本。
|-----------------------------------------------------------|
| 类比去超时购物,一个Registry就是一个货架,货架上有不同的品牌(镜像名称),每个品牌又有不同的厂家(Tag) |
镜像仓库工作机制
- 镜像仓库使用流程 :通过
docker login登录仓库
Docker pull拉取需要的镜像
通过commit等方式自定义镜像通过docker push上传到仓库 Docker Registry中的镜像通常由开发人员制作,而后推送至"公共"或"私有"Registry上保存,供其他人员使用。例如:部署到测试环境- 镜像仓库的拉取机制 :启动容器时,
docker daemon会试图从本地获取相关的镜像;本地镜像不存在时,其将从Registry 中下载该镜像并保存到本地。
Docker Registry命令
docker login 和 docker logout
docker login 功能:登录到 一个Docker镜像仓库,如果未指定镜像仓库地址则默认使用官方仓库 Docker Hub(这个好像被封了,使用其他国内镜像也可以)
powershell
docker login [options] [server]
- -u:登录的用户名
- -p:登录的密码
功能:登出一个Docker镜像仓库,如果未指定镜像仓库地址则默认使用官方仓库 Docker Hub
powershell
docker logout [server]
docker pull
功能:从镜像仓库中拉取或者更新指定镜像
powershell
docker pull [options] name [:tag|@digest]
- -a :拉取所有tag镜像
--disable-content-truet:忽略镜像校验,默认开启

docker push
功能:将本地镜像上传到镜像仓库,要先登录到镜像仓库
powershell
docker push [options] name[:tag]
- -a :拉取所有tag镜像
- --disable-content-truet:忽略镜像校验,默认开启
注意:只有需要上传镜像才需要登录镜像仓库,其他操作不需要登录
docker search
注意:因为国内docker网站被封目前无法使用该命令,需要一点点"魔法"
功能:从 Docker Hub 查找镜像
powershell
docker search [options] term
--on-trunc:显示完整的镜像描述-f<过滤条件>:列出满足条件的镜像
搭建Nginx服务器
web服务器:一般指"网站服务器",是指驻留于互联网上某种计算机程序。
Nginx是一款开源的、高性能的HTTP服务器和反向代理服务器;Nginx可以作为一个HTTP服务器进行网站发布处理,也可以作为反向代理进行负载均衡的实现。
Web服务器并非特指某个具体产品,而是对实现该功能的所有服务器的统称。
|------------------------------------------------------------|
| Nginx就是Web服务器的一种具体实现方案,Nginx 作为 Web 服务器可以向各种浏览器等客户端提供浏览服务。 |
正向代理:由于国内外网络限制,我们不能直接访问google浏览器,但是可以借助VPN来实现,我们发现Nginx代理客户端访问google浏览器,而浏览器是不知道客户端是通过VPN来访问的。这个时候"代理的"是客户端。

反向代理:当我们想要访问百度时,请求要通过负载均衡来转发到百度服务器,这个过程对于客户端来说是看不见的。也就是说:这个时候反向代理的"代理"是服务器端。

开始安装Nginx
Ubuntu 安装
powershell
apt update
apt install nginx -y
nginx -v


调整首页
powershell
ll /etc/nginx/
cd /etc/nginx/
ll
cat nginx.conf
cd /var/www/html
ll
# 修改nginx首页
vi index.nginx-debian.html

拉取nginx镜像,启动nginx站点
想要查找具体的镜像,现在docker官方看不了,可以去国内的镜像源查找:比如:轩辕镜像
powershell
docker pull nginx:1.24.0
# 查看是否拉取成功
docker images nginx
#查看当前nginx的详细信息
docker image inspect nginx:1.24.0

前台启动容器
powershell
# 前台启动一个nginx容器
docker run -p 8099:80 --name mynginx1 -h mynginx1.com -e myenv=test nginx:1.24.0

浏览器也可以正常访问,但是一旦我们退出,就会销毁掉

powershell
# 后台启动一个nginx
docker run -p 8099:80 --name mynginx4 -h mynginx1.com -e myenv=test -d nginx:1.24.0
出现容器ID,说明程序正常运行起来。


powershell
#通过命令查看
docker ps

通过 it 交互的方式启动nginx
powershell
# 通过 it 交互的方式启动nginx
docker run -p 8098:80 --name mynginx6 -h mynginx1.com -e myenv=test -it nginx:1.24.0 bash

powershell
# 修改首页
cd /usr/share/nginx/html
echo "Hello i am in docker my port is 8098"> index.html


阿里云创建私有仓库
进入阿里云注册成功后,在产品搜索容器镜像服务,申请个人实例

闯创建后设置Registry密码,也就是 docker login密码,然后点击命名空间,创建镜像仓库,设置仓库为本地仓库,完成创建。

在Xsheel中登录自动阿里的镜像仓库:
powershell
docker login --username=小张不嚣涨 crpi-2aypcteu5jaqco4g.cn-hangzhou.personal.cr.aliyuncs.com

给镜像打标签Tag,推送到仓库:
powershell
docker tag nginx:1.23.3 crpi-2aypcteu5jaqco4g.cn-hangzhou.personal.cr.aliyuncs.com/optimistic/optimistic1:v1.0
docker push crpi-2aypcteu5jaqco4g.cn-hangzhou.personal.cr.aliyuncs.com/optimistic/optimistic1:v1.0


退出登录:再进行push就会显示无权限
powershell
docker logout crpi-2aypcteu5jaqco4g.cn-hangzhou.personal.cr.aliyuncs.com

完结撒花!🎉

如果这篇博客对你有帮助,不妨点个赞支持一下吧!👍
你的鼓励是我创作的最大动力~
✨ 想获取更多干货? 欢迎关注我的专栏 → optimistic_chen
📌 收藏本文,下次需要时不迷路!
我们下期再见!💫 持续更新中......
悄悄说:点击主页有更多精彩内容哦~ 😊
