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
  • 注册阿里云,在容器镜像服务里创建个人版实例。

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

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

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

相关推荐
rosmis2 小时前
自动化文献检索与下载工作流:基于 Playwright 的 RPA 实践方案
运维·自动化·rpa
亚林瓜子2 小时前
linux账号强制密码过期导致私钥文件登录异常问题——(current) UNIX password:
linux·运维·服务器·ssh·aws·ec2·chage
姚不倒2 小时前
Docker 核心原理与运维实战:从入门到生产级理解
运维·docker·架构
LXY_BUAA2 小时前
《嵌入式操作系统》_驱动框架_20260318
linux·运维·服务器
小黑要努力2 小时前
json-c安装以及amixer使用
linux·运维·json
2401_844221322 小时前
深入理解K8s中的应用服务:访问、集群与配置
容器·kubernetes·php
sdm0704273 小时前
Linux-进程2
运维·服务器
柯儿的天空3 小时前
【OpenClaw 全面解析:从零到精通】第 016 篇:OpenClaw 实战案例——代码开发助手,从代码生成到部署自动化的全流程
运维·人工智能·ai作画·自动化·aigc·ai写作
我科绝伦(Huanhuan Zhou)3 小时前
从自动化到自主化—AI Agent引领的运维范式变革
运维·人工智能·自动化