容器Docker学习系列六~命令学习仓库命令
在前面几篇文章中,我们学习了怎么安装Docker,并进行本地Docker的操作,现在我们就学习下Docker仓库的学习,其实Docker很多理念操作也是来自git,比如我们在下载一个镜像的时候,可以看到多个下载hash。
下载的时候已经下载过的就可以不在进行下载。继续下载其他没有下载的就好。我们仓库提供了这个功能的实现,接下来我们来看下镜像仓库有什么命令吧。
login/logout
Docker也是有权限验证的,所以我们也需要登录去上传自己制作的Docker文件。没有账户的朋友是没法上传镜像到仓库中的。
语法糖 docker login[OPTIONS] [SERVER]
docker logout [OPTIONS] [SERVER]
OPTIONS : 还是可选参数
- -u:登录的用户名
- -p:登录的密码
列子
ruiqi@fruiqi:~/Desktop/code/database-H2-demo$ docker logout hub.xxxa.com Removing login credentials for hub.infervision.com ruiqi@fruiqi:~/Desktop/code/database-H2-demo$ docker login -u fruiqi -p ×××× sfa.xxxa.com WARNING! Using --password via the CLI is insecure. Use --password-stdin. Login Succeeded
pull
从我们指定的仓库拉去或者更新指定镜像
语法糖 docker pull [OPTIONS] [Dcoker Registory 地址[:端口号]/] 仓库名[:标签]
其中 OPTIONS可选的:
- -a:拉取所有的tagged镜像
- –disable-content-trues:忽略镜像的校验,默认开启
列子:
//查询mongo版本 看自己使用哪个 docker@ubuntu:~$ docker search mongo NAME DESCRIPTION STARS OFFICIAL AUTOMATED mongo MongoDB document databases provide high avai… 4852 [OK] mongo-express Web-based MongoDB admin interface, written w… 280 [OK] tutum/mongodb MongoDB Docker image – listens in port 27017… 225 [OK] mvertes/alpine-mongo light MongoDB container 79 [OK] mongoclient/mongoclient Official docker image for Mongoclient, featu… 53 [OK] bitnami/mongodb Bitnami MongoDB Docker Image 45 [OK] frodenas/mongodb A Docker Image for MongoDB 17 [OK] mongooseim/mongooseim Small docker image for MongooseIM - robust a… 16 mongooseim/mongooseim-docker MongooseIM server the latest stable version 11 [OK] cvallance/mongo-k8s-sidecar Kubernetes side car to setup and maintain a … 8 [OK] centos/mongodb-26-centos7 MongoDB NoSQL database server 5 centos/mongodb-32-centos7 MongoDB NoSQL database server 5 istepanov/mongodump Docker image with mongodump running as a cro… 5 [OK] eses/mongodb_exporter mongodb exporter for prometheus 4 [OK] khezen/mongo MongoDB Docker image supporting RocksDB stor… 4 [OK] neowaylabs/mongodb-mms-agent This Docker image with MongoDB Monitoring Ag… 2 [OK] centos/mongodb-34-centos7 MongoDB NoSQL database server 1 centos/mongodb-36-centos7 MongoDB NoSQL database server 1 openshift/mongodb-24-centos7 DEPRECATED: A Centos7 based MongoDB v2.4 ima… 1 webhippie/mongodb Docker images for mongodb 1 [OK] circleci/mongo CircleCI images for MongoDB 1 [OK] ekesken/mongo docker image for mongo that is configurable … 1 [OK] ansibleplaybookbundle/mongodb-apb An APB to deploy MongoDB. 0 [OK] amd64/mongo MongoDB document databases provide high avai… 0 quilt/mongo MongoDB container for quilt.io 0 [OK] //执行下载最新的版本 有点大 需要一段时间下载 如果需要下载别的自己根据名称下载即可 docker@ubuntu:~$ docker pull mongo Using default tag: latest latest: Pulling from library/mongo docker@ubuntu:~$ docker pull -a mongo 拉取所有的版本 具体自己可以尝试下 2.2.7: Pulling from library/mongo
push
将本地的镜像上传到镜像仓库,但是这里需要我们先登录到镜像仓库
语法糖 docker push [PTIONS] NAME:[:TAG]
OPTIONS 说明:
- -disable-content-trust:忽略镜像的校验,默认开启
我这里自己使用的是阿里云的镜像仓库,大家可以自己去创建一个阿里云镜像仓库(管理中心–>创建镜像仓库–>我的是华东1绑定github账户即可)
列子:这里我用的是我们公司的仓库
ruiqi@fruiqi:~/Desktop/code/database-H2-demo$ docker logout hub.asdada.com Removing login credentials for hub.infervision.com ruiqi@fruiqi:~/Desktop/code/database-H2-demo$ docker login -u fruiqi -p 密码 hub.asdada.com WARNING! Using --password via the CLI is insecure. Use --password-stdin. Login Succeeded //显示登录成功后,我们就可以直接进行push操作了。 ruiqi@fruiqi:~/Desktop/code/database-H2-demo$ docker push hub.asdada.com/fruiqi/datamanagesystem:2.0.2 The push refers to repository [hub.asdada.com/fruiqi/datamanagesystem] 5da685150776: Pushed 7a42af8ace8d: Layer already exists e80bd912af31: Layer already exists 8bc7bbcd76b6: Layer already exists 298c3bb2664f: Layer already exists 73046094a9b8: Layer already exists 2.0.2: digest: sha256:aa27d45306540e5cd9e4dc1871b9229a276196a1dacf14eef6fe44bda63a945b size: 1576
上面的操作就完成了,我们就可以在我们的仓库看到已经上传的docker容器。
search
docker 搜索镜像,查找符合自己想要的版本镜像
语法糖 docker search [OPTIONS] TERM
OPTIONS说明:
- –no-trunc:显示完整的镜像描述
- -s:列出收藏数不小于指定值的镜像。
列子:
ruiqi@fruiqi:~/Desktop/code/database-H2-demo$ docker search -s 100 mysql Flag --stars has been deprecated, use --filter=stars=3 instead NAME DESCRIPTION STARS OFFICIAL AUTOMATED mysql MySQL is a widely used, open-source relation… 6765 [OK] mariadb MariaDB is a community-developed fork of MyS… 2159 [OK] mysql/mysql-server Optimized MySQL Server Docker images. Create… 495 [OK] percona Percona Server is a fork of the MySQL relati… 360 [OK] zabbix/zabbix-server-mysql Zabbix Server with MySQL database support 116 [OK]
今天我们学习这四个命令帮助我们快速的构建查找,更新,推送新的版本镜像。当然我们还可以进行登录,操作等等。通过今天的学习,我们可以很方便的管理自己的私人远程仓库。当然如果原先的命令忘记了,可以点击以下文章进行学习
容器Docker学习系列一
容器Docker学习系列二
容器Docker学习系列三~命令学习
容器Docker学习系列四~源的修改增加效率
容器Docker学习系列五~命令学习history,save, import
- 容器Docker学习系列八~rootfs命令学习
- 容器Docker学习系列九~生命周期管理命令
- DOCKER学习之(二) 容器部分常用命令
- Docker学习总结(4)——Docker镜像与容器命令
- 容器Docker学习系列七~系统信息学习
- Docker学习笔记——镜像、容器、仓库
- 容器Docker学习系列十~高级操作
- Docker入门-镜像、容器、仓库简单命令
- Docker | 学习系列 (四)Docker镜像常用命令使用教程
- docker学习(2)--docker镜像、容器、仓库和docker的安装
- Easypack容器系列之Nexus 3:Docker私有仓库
- 学习Docker之Docker、容器和镜像的简介和常用命令
- 2.ASP.NET Core Docker学习-镜像容器与仓库
- Docker系列教程05-容器常用命令
- 【docker】进入容器内部 命令 docker-compose系列
- Docker容器学习梳理--私有仓库Registry使用
- Docker关于镜像、容器、仓库的日常管理基本命令
- Docker入门学习(1)----镜像、容器、仓库初识
- Docker学习总结(4)——Docker镜像与容器命令