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

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

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

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

相关推荐
NendoZen5 小时前
Arch Linux解决Grub无法SAVEDEFAULT问题(uki启动问题)
linux·运维·服务器
Elastic 中国社区官方博客6 小时前
Elasticsearch:安装自行管理的 Elastic Stack 集群
大数据·运维·服务器·数据库·elasticsearch·搜索引擎·全文检索
忆挽篱笙歌6 小时前
进程控制管理
linux·运维·服务器
fengkai45458 小时前
3、Kubernetes的Namespace&Contexts&Pod&YAML格式
运维·容器·kubernetes·k8s·namespace·yaml·pod
戴西软件8 小时前
制造研发中的AI视觉与仿真:戴西工程图纸智能审图智能体、戴西3DViz_CAE AI集成与戴西3DViz_CAD AI集成
大数据·运维·人工智能·3d·自动化·制造·rpa
javaDocker8 小时前
1800 亿科技投入砸下去,多数机构平的只是服务器,不是能力
运维·服务器·人工智能·科技·研发效能·金融科技
骇客野人9 小时前
Linux 全套实操方案(含目录详解、文件传输、日志、文件规范、环境变量、Java 应用部署运维)
java·linux·运维
容器魔方9 小时前
Volcano v1.16 发布:新增 NamespaceQueue 与 fairshare,拓展 HyperNode 生态
人工智能·云原生·容器·华为云·云计算
eleven_4u9 小时前
RocketMQ相关问题
java·运维·中间件
0+1119 小时前
Linux --DNS与ICMP
linux·运维·服务器