Docker仓库常用命令详解
登录
dockerlogin
通过执行dockerlogin命令来输入用户名、密码和邮箱来完成注册和登录。注册成功后,本地用户目录的.dockercfg中将保存着用户认证的信息。
从仓库拉取镜像
dockerpull[镜像名]
搜索镜像
dockersearch[想要搜索的镜像名]
例如:
C:\Users\kunta>dockersearchcentos NAMEDESCRIPTIONSTARSOFFICIALAUTOMATED centosTheofficialbuildofCentOS.5605[OK] ansible/centos7-ansibleAnsibleonCentos7123[OK] jdeathe/centos-sshOpenSSH/Supervisor/EPEL/IUS/SCLRepos-…113[OK] consol/centos-xfce-vncCentoscontainerwith"headless"VNCsession…99[OK] centos/mysql-57-centos7MySQL5.7SQLdatabaseserver63 imagine10255/centos6-lnmp-php56centos6-lnmp-php5657[OK] tutum/centosSimpleCentOSdockerimagewithSSHaccess45 centos/postgresql-96-centos7PostgreSQLisanadvancedObject-Relational…39 kinogmt/centos-sshCentOSwithSSH29
我们可以根据镜像是否为官方提供的依据,分为两类。一种是类似centos这样的基础镜像,称为基础或根镜像。这些镜像是由Docker公司创建、验证、支持、提供的。
另外一种是类似ansible/centos7-ansible这样类型的镜像,它是由其它非官方的用户或组织提供的,一般是通过在基础镜像上添加了某些功能然后再提交发布上来供大家使用。像ansible/centos7-ansible这个镜像,它是由名为ansible这个用户或组织维护的,带有用户名为前缀,表明是某个用户的仓库。
自动创建
自动创建(AutomatedBuilds)功能对于需要经常升级镜像内程序来说十分方便。有时候,用户创建了镜像,安装了某个软件,如果软件发布新版本则需要手动更新镜像。
而自动创建功能使得用户通过DockerHub指定跟踪个目标网站(目前支持GitHub或BitBucket)上的项目,一旦项目发现新的提交,则自动执行创建。
要配置自动创建,包括如下的步骤:
- 创建并登录DockerHub,以及目标网站;*在目标网站中连接帐户到DockerHub。
- 在DockerHub中配置一个自动创建。
- 选取一个目标网站中的项目(需要含Dockerfile)和分支。
- 指定Dockerfile的位置,并提交创建。
之后,可以在DockerHub的“自动创建"页面中跟踪每次创建的状态。
创建和使用私有仓库、
安装Docker后,可以通过官方提供的registry镜像来简单搭建一-套本地私有仓库环境:
dockerrun-d-p5000:5000registry
dockerrun命令执行时如果发现本地没有对应的镜像,则会先去拉取镜像再运行。
默认情况下,会将仓库创建在容器的/tmp/registry目录下。可以通过-v参数来将镜像文件存放在本地的指定路径上。
例如下面的例子将上传的镜像放到/opt/data/registry目录:
dockerrun-d-p5000:5000-v/opt/data/registry:/tmp/registryregistry
此时,在本地将启动-个私有仓库服务,监听端口为5000。
实战
首先在一台服务器机子上搭建好私有仓库,其地址为10.0.2.2:5000。然后再试图从机子上上传和下载镜像。
在本地上查看已有镜像:
C:\Users\kunta>dockerimages REPOSITORYTAGIMAGEIDCREATEDSIZE hub.c.163.com/kuntang/lingermarketlatestc7a70a3810cf23monthsago418MB ubuntu216.041196ea15dad62yearsago336MB ubuntulatest1196ea15dad62yearsago336MB hub.c.163.com/public/ubuntu16.04-tools1196ea15dad62yearsago336MB hub.c.163.com/public/centos6.7-toolsb2ab0ed558bb2yearsago602MB
使用dockertag命令把镜像的仓库标记为私有仓库机子地址(格式为:dockertagIMAGE[:TAG][REGISTRYHOST/]NAME[:TAG]):
dockertagubuntu2:16.0410.0.2.2:5000/test dockerimages
使用dockerpush命令上传镜像:
dockerpush10.0.2.2:5000/test
用curl查看私有仓库的镜像
curlhttp://10.0.2.2:5000/v1/search
可以看出镜像已经上次成功。
现在可以到任意一台能访问到10.0.2.2地址的机器去下载这个镜像了:
dockerpull10.0.2.2:5000/test
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。