Docker基础之十: 存储镜像到Docker Hub

简介: 存储镜像到Docker Hub 到目前为止,我们已经学习了docker的基本用法,包括拉取镜像,运行容器,编译镜像文件等等。接下来,我们将学习如何通过docker hub来简化你的操作,并提高你的工作效率。 Docker Hub是Docker的主仓库,由Docker公司进行维护。这个仓库里面包含了

存储镜像到Docker Hub

对Docker感兴趣的朋友可以加我的微信ghostcloud2016,然后我把你加到我们的一个Docker爱好者群组里面。

到目前为止,我们已经学习了docker的基本用法,包括拉取镜像,运行容器,编译镜像文件等等。接下来,我们将学习如何通过docker hub来简化你的操作,并提高你的工作效率。 Docker Hub是Docker的主仓库,由Docker公司进行维护。这个仓库里面包含了系统的官方镜像,同时提供简单的用户认证信息,以及其他的附属功能。默认情况下,这个仓库是免费的,但是你的所有镜像也是公开的。跟github类似,如果你需要一个私有的仓库,那么需要付费。

1 Docker Hub相关的命令

Docker 本身和仓库相关的命令包括docker search, pull, login, push。下面我们将详细介绍这些命令的用法。

1.1 用户创建和登录

如果你没有Docker Hub账号,你可以从https://hub.docker.com进行注册。注册成功后,通过下面命令进行登录:

$docker login

这个命令将提示你输入用户名和密码。你的用户信息将被纪录在~/.docker/config.json文件中。

1.2 搜索镜像

你可以在Docker Hub主页上搜索镜像,不过我一般喜欢在命令行中进行搜索。

$ docker search centos
NAME           DESCRIPTION                                     STARS     OFFICIAL   AUTOMATED
centos         The official build of CentOS                    1223      [OK]
tianon/centos  CentOS 5 and 6, created using rinse instea...   33
...

上面查找出了两个镜像,第一个是centos,这个是官方镜像,没有任何前缀; tianon/centos 是tianon用户自己的centos,从这而你也可以看出,用户的镜像默认是公开的。 当你找到镜像以后,你可以执行docker pull :

$ docker pull centos
Using default tag: latest
latest: Pulling from library/centos
f1b10cd84249: Pull complete
c852f6d61e65: Pull complete
7322fbe74aa5: Pull complete
Digest: sha256:90305c9112250c7e3746425477f1c4ef112b03b4abe78c612e092037bfecc3b7
Status: Downloaded newer image for centos:latest

执行完毕后,centos镜像就被拉取到本地了。

1.3 下载指定版本的镜像

使用docker pull centos 等同于docker pull centos:latest。如果想下载其他版本的镜像,可以指定相应的tag,比如:docker pull centos:centos5。

2 提交镜像到Docker Hub

每个人都可以将公共的镜像提交到Docker Hub Registry,只是这个是公共的仓库。

2.1 推送镜像到Docker Hub

如果你要推送镜像到Docker Hub,你需要一个命名的Image。其格式如下:

$ docker push yourname/newimage

2.2 Tag镜像

如果你的镜像是自己构建的,你需要用docker tag来进行标记后,再进行提交。如果你想提交容器,就需要先docker commit成镜像,再提交。

root@gctest:~# docker images
REPOSITORY                 TAG                 IMAGE ID            CREATED             VIRTUAL SIZE
ghostcloud.cn:5005/gcali   2.0.7               e1ccd7f9bf75        22 minutes ago      219.6 MB
ubuntu                     vivid               d893c6708298        2 weeks ago         131.3 MB
ubuntu                     trusty              e9ae3c220b23        4 weeks ago         187.9 MB
ubuntu                     latest              e9ae3c220b23        4 weeks ago         187.9 MB
ubuntu                     precise             2a7a952931ec        4 weeks ago         136.1 MB
ubuntu                     wily                5eb72b199374        6 weeks ago         131.4 MB
root@gctest:~# docker tag ubuntu:latest shev/ubuntu:latest
root@gctest:~# docker images
REPOSITORY                 TAG                 IMAGE ID            CREATED             VIRTUAL SIZE
ghostcloud.cn:5005/gcali   2.0.7               e1ccd7f9bf75        23 minutes ago      219.6 MB
ubuntu                     vivid               d893c6708298        2 weeks ago         131.3 MB
shev/ubuntu                latest              e9ae3c220b23        4 weeks ago         187.9 MB
ubuntu                     latest              e9ae3c220b23        4 weeks ago         187.9 MB
ubuntu                     trusty              e9ae3c220b23        4 weeks ago         187.9 MB
ubuntu                     precise             2a7a952931ec        4 weeks ago         136.1 MB
ubuntu                     wily                5eb72b199374        6 weeks ago         131.4 MB
目录
相关文章
|
1月前
|
Docker 容器 Perl
云效flow构建docker镜像更换apt源为阿里镜像源
在 Dockerfile 中添加命令以更换 Debian 源为阿里云镜像,加速容器内软件包下载。核心命令通过 `sed` 实现源地址替换,并更新 apt 软件源。其中 `cat` 命令用于验证替换是否成功,实际使用中可删除该行。
243 32
|
13天前
|
缓存 Shell 网络安全
将应用程序打包成Docker镜像时可能遇到哪些问题?
将应用程序打包成Docker镜像时可能遇到哪些问题?
155 77
|
20天前
|
Shell 应用服务中间件 nginx
docker 镜像的部分常用命令
docker镜像常用命令
59 16
|
22天前
|
关系型数据库 MySQL Docker
|
1月前
|
Ubuntu Linux 网络安全
Ubuntu Docker镜像:支持systemctl、SSH、VNC
总的来说,创建一个支持systemctl、SSH和VNC的Ubuntu Docker镜像需要一些技术知识,但是通过学习和实践,我们可以掌握这些技术。这将使我们能够更有效地使用Docker,更好地管理我们的应用程序和服务。CentOS系统中的日志文件位置和管理
77 17
|
1月前
|
Ubuntu 安全 网络安全
Docker镜像:Ubuntu支持systemctl、SSH和VNC
总的来说,Docker提供了一个灵活且强大的方式来创建和运行自定义的Ubuntu镜像。通过理解和使用Dockerfile,你可以轻松地创建一个支持systemctl、SSH和VNC的Ubuntu镜像。
139 21
|
11月前
|
应用服务中间件 nginx 开发者
从 Docker Hub 拉取镜像受阻?这些解决方案帮你轻松应对
最近一段时间 Docker 镜像一直是 Pull 不下来的状态,感觉除了挂🪜,想直连 Docker Hub 是几乎不可能的。更糟糕的是,很多原本可靠的国内镜像站,例如一些大厂和高校运营的,也陆续关停了,这对我们这些个人开发者和中小企业来说是挺难受的。之前,通过这些镜像站,我们可以快速、方便地获取所需的 Docker 镜像,现在这条路也不行了。感觉这次动作不小,以后想直接访问 Docker Hub 是不可能了。所以我们得想办法搭建自己的私有镜像仓库。
从 Docker Hub 拉取镜像受阻?这些解决方案帮你轻松应对
|
安全 Java Linux
【Docker】五 Docker Hub管理镜像
Docker Hub是Docker官方维护的Docker Registry,上面存放着很多优秀的镜像。不仅如此,Docker Hub还提供认证、工作组结构、工作流工具、构建触发器等工具来简化我们的工作。 前文已经讲过,我们可使用 `docker search` 命令搜索存放在Docker Hub中的镜像。这篇文章我们来详细探讨Docker Hub的使用。
610 1
【Docker】五 Docker Hub管理镜像