docker镜像仓库

镜像仓库负责存储,管理和分发镜像,并且提供了登录认证的能力,建立了仓库的索引。镜像仓库管理多个repository,repository通过命名来区分,比如说Ubuntu,nginx等,这些repository包含一个或者多个镜像,镜像通过镜像名称和tag来区分。

一个容器镜像包含两个部分,一个是元数据,其实就是由dockerfile构建出来的描述文件,描述这个容器blob数据的信息。最终的可执行文件存储在blob里面,真正占有空间的是blob。

镜像仓库命令

docker login:用于登录到一个docker镜像仓库,如果没有指定镜像仓库的地址,就默认为官方的dockerhub。

bash 复制代码
docker login [options] [server]

-u表示登录的用户名

-p表示登录的密码
docker pull:用于从镜像仓库中拉取或者更新指定的镜像。

bash 复制代码
docker pull [option] NAME[:TAG|@DIGEST]

-a表示拉取所有tagged镜像

--disable-content-trust表示忽略镜像的校验,默认是开启的
docker push:用于将本地的镜像上传到镜像仓库,在使用这个命令时,需要先登录到镜像仓库。

bash 复制代码
docker push [options] NAME[:TAG]

-a表示推送所有的tagged镜像

--disable-content-trust表示忽略镜像的校验,默认是开启的

docker search:用于从dockerhub查找镜像。

bash 复制代码
docker search [option] TERM

--no-trunc表示不截断,显示完整的镜像描述

-f <过滤条件>表示列出收藏数(star)不小于指定值的镜像
docker logout:用于登出一个docker镜像仓库,如果没有指定镜像仓库地址,就默认为官方仓库dockerhub。

bash 复制代码
docker logout [server]

实操

搭建nginx

nginx可以作为一个http服务器进行网站的发布处理,也可以作为反向代理服务器进行负载均衡的实现(反向代理代理的是服务器端,正向代理代理的是客户端)。

  • 安装nginx,查看nginx的状态,杀死nginx进程
bash 复制代码
#Ubuntu下安装nginx
apt install nginx -y
#查看版本
nginx -v
#查看nginx是否启动
ps -ef | grep nginx
#如果没启动,手动启动
nginx
#调整配置
vim /etc/nginx/sites-available/default
#杀死nginx进程
ps -ef | grep nginx
kill -9 pid


  • 查找nginx镜像,拉取nginx镜像,启动nginx站点
bash 复制代码
docker pull nginx:latest
#查看本地的镜像
docker images
#运行镜像
docker run --name nginx1 --rm -it -p 8888:80 nginx:latest bash
#启动nginx
nginx
  • 打开另外一个shell窗口执行curl命令,可以看到nginx的欢迎信息返回。
  • 打开浏览器访问对应的8888端口,也可以成功访问到nginx。

搭建私有仓库(阿里云)

  • 安装busybox,busybox是一个集成了300多个最常用的Linux命令和工具的软件,例如ls,cat,find等命令。
bash 复制代码
apt install -y busybox
  • 注册阿里云,在容器镜像服务里创建个人版实例。

  • 创建完个人版实例以后,进入实例,在访问凭证里设置固定密码,底部会有登录实例的命令,执行此命令,输入固定密码即可登录仓库。

  • 在阿里云上配置命名空间,创建镜像仓库,可以看到创建完以后,阿里云提供了快捷指令。

  • 根据操作指南给镜像打标签,推送到仓库,可以看到镜像就被成功推送上去了。

相关推荐
duansamve17 分钟前
Python3+Flask+PostgreSQL18+Vue3项目生产环境用docker如何部署?
python·docker·flask
mengge.cloud2 小时前
prometheus+k8s+弹性伸缩,综合项目
云原生·容器·kubernetes·prometheus
Z21-X4 小时前
云原生运维学习笔记:ECShop全链路容器化部署与Docker底层资源隔离深度剖析
运维·笔记·学习·云原生
进击的荆棘5 小时前
Linux系统——线程同步与互斥之线程池和安全
linux·运维·服务器·安全·单例模式·线程
瑞雪兆丰年兮6 小时前
JavaWeb-day11-SpringBootWeb案例(文件上传)
java·运维·服务器·javaweb·oss
xbzb6 小时前
从零容器化部署 ECShop:Harbor 私有仓库 + 自定义 PHP 镜像 + LNMP 三容器
容器·php·harbor·镜像·仓库·ecshop
那明眸似水7 小时前
云原生项目三:Docker秒级启动NextCloud个人网盘存储办公系统
linux·运维·docker·云原生·容器
腾飞开源7 小时前
03_Kubernetes 核心概念拆解:从 Spec/Status 收敛到工作负载控制器的设计逻辑
云原生·容器·kubernetes
小南家的青蛙8 小时前
微服务体系下DevOps运维岗位面试方案设计
运维·面试·职场和发展·devops
知已难寻18 小时前
Docker 入门:容器技术与 Docker 基础
java·运维·服务器·docker·云原生·容器