Docker Hub 使用初探

—— 魏刘宏 2019.10.26

容器的话题越来越热,今天我也来试试容器的使用,我们以 Docker Hub 为例。

Docker Hub 官网为 https://hub.docker.com/ ,主要用于托管容器镜像,我们以 Linux 系统 centos 为例:

详细页面给出了拉取的命令,不带标签默认拉取最新的:

点击 View Available Tags 可查看所有标签,其中标签 7 应该就是标签 centos7 的简写:

我们在 Docker Hub 上可以注册一个账号,然后可以创建仓库,创建一个空仓库几乎只需填写名字即可:

创建完账户后,在 Linux 系统命令行中使用 docker login 命令在本地登陆 dockerhub:

这个是我之前登陆过,所以直接就登上了,不然的话,还需要键入用户名和密码的。

登陆成功后,就可以使用 docker pull centos:7 命令拉取官方镜像 centos 的标签号为 7 的分支镜像:

拉取完毕,使用 docker images 命令查看本地存在的镜像:

可以看到刚才拉取的 centos 镜像了。

我们先查看(docker ps)并停止(docker stop <Container Id>)正在运行的容器:

由于暂时不需要了,所以使用命令 docker rm $(docker ps -a -q) 删除所有容器:

再使用命令 docker rmi <Image Id> 删除镜像,仅保留刚才下载的 centos 镜像:

下面再说明一下 docker 容器使用的其它常用命令:

# 1. 以交互式创建并启动容器:

docker run -i -t –name dlgcy centos /bin/bash

# 2. 在容器命令行状态下键入 Ctrl+P Ctrl+Q 来回到宿主机;

# 3. 查看容器运行状态:

docker ps -a

# 4. 再次进入容器:

docker attach dlgcy

我们用 docker run -i -t –name init centos:7 /bin/bash 命令启动一个 centos:7 镜像的交互式容器,名称为 init :

可以看到命令行前缀已改变,我们目前处于容器中的命令行环境。

我们按 Ctrl+P Ctrl+Q 来回到宿主机后,使用命令 docker ps –a 查看运行的容器:

我们再用 docker attach init 命令重新进入 init 容器:

我们发现没有 wget 命令,于是进行安装:

然后我们再回到宿主机,使用命令 docker commit <exiting-container> <hub-user>/<repo-name>[:<tag>] 将容器提交为镜像,这里实际的命令为 docker commit f9127ff7e93e dlgcy/dlgcy:centos-init :

可以看到本地已经多了个镜像。这里是将容器提交为镜像,如果是要将已经存在的镜像打标签为新的镜像,则使用的命令为 docker tag <existing-image> <hub-user>/<repo-name>[:<tag>] 。

现在我们再使用命令 docker push <hub-user>/<repo-name>:<tag> 将提交推送到 dockerhub 服务器上:

到网页上看看:

可以看到这个镜像已经传上去了。

并且,我们本地可以使用该镜像来创建容器(使用 -p 2333:2333 这种形式进行端口映射):

这样我们就完成了拉取、提交、推送的完整过程,可见这和 Git 的使用方法是一脉相承的。

同步首发:http://dlgcy.com/docker-hub/

Docker Hub 使用初探的更多相关文章

  1. Docker的使用初探(一):常用指令说明

    目录 Docker的使用初探(一):常用指令说明 为什么要用Docker Docker的安装与简单使用 国内镜像加速 常用指令 Docker的使用初探(一):常用指令说明 前几个星期实践的了,再不记录 ...

  2. 配置 Docker 加速器(Docker Hub Mirror)

    Docker 加速器是什么,我需要使用吗? 使用 Docker 的时候,需要经常从官方获取镜像,但是由于显而易见的网络原因,拉取镜像的过程非常耗时,严重影响使用 Docker 的体验.因此 DaoCl ...

  3. Docker Hub仓库注册,使用

    首先保证可以访问Docker Hub,所以需要先把host替换一下 : Google hosts ; 然后就是注册Docker Hub账户:https://hub.docker.com/; 然后就是在 ...

  4. 利用Docker Hub上的Nginx部署Web应用

    Docker Hub上提供了很多镜像,如Nginx,我们不需要自己从ubuntu开始装Nginx再做发布,只需要先下载镜像到本地 docker pull nginx 在/opt下新建文件夹API,将需 ...

  5. docker学习笔记7:发布镜像到docker hub上

    镜像创建好后,很重要的一个操作就是共享和发布.可以将自己创建的镜像发布到docker hub上,也可以发布到自己的私有docker hub上. 要想发布镜像到dokcer hub上,首先要在dokce ...

  6. docker学习笔记4:利用docker hub上的mysql镜像创建mysql容器

    docker hub上有官方的mysql镜像,我们可以利用它来创建mysql容器,作为一个服务容器使用. 1.下载mysql镜像 docker pull mysql 2.创建镜像 docker run ...

  7. Docker Hub工作流程-Docker for Web Developers(6)

    在Github上创建项目仓库 和创建其他Github项目一样,在Github创建一个仓库,然后在仓库里面增加一个dockerfile,然后提交并推送到Github上. 我已经创建的仓库地址:https ...

  8. 在Docker Hub上查找可用的Image映像

    任何人都可以创建Docker Image映像,你可以浏览Docker Hub来查找这些Image映像. 定位Whalesay 映像 打开你的浏览器,浏览Docker Hub: Docker Hub包含 ...

  9. Docker Hub

    目前 Docker 官方维护了一个公共仓库 Docker Hub,其中已经包括了超过 15,000 的镜像.大部分需求,都可以通过在 Docker Hub 中直接下载镜像来实现. 登录 可以通过执行 ...

随机推荐

  1. IIS安装和ASP.NET Web应用程序开发期间部署到IIS自定义主机域名并附加进程调试

    一.IIS安装,此处以Windows10操作系统为例 首先依次进入控制面板=>程序=>程序与功能=>启用或关闭Windows功能 将Internet开头的三个选项全部打钩后点击确定安 ...

  2. python 对Unicode解码

    打印: print('我喜欢你'.encode('unicode_escape')) 得到Unicode编码: b'\\u6211\\u559c\\u6b22\\u4f60 将上面的编码赋值给str后 ...

  3. 5-API 网关 kong 实战

    原文:https://cloud.tencent.com/developer/article/1477672 1. 什么是Kong? 目前互联网后台架构一般是采用微服务,或者类似微服务的形式,应用的请 ...

  4. arcgis api 3.x for js 解决 textSymbol 文本换行显示(附源码下载)

    前言 关于本篇功能实现用到的 api 涉及类看不懂的,请参照 esri 官网的 arcgis api 3.x for js:esri 官网 api,里面详细的介绍 arcgis api 3.x 各个类 ...

  5. Qt之圆角阴影边框

    Qt的主窗体要做出类似WIN7那种圆角阴影边框,这一直是美工的需求. 这里是有一些门道的,尤其是,这里藏着一个很大的秘密. 这个秘密是一个QT的至少横跨3个版本,存在了2年多的BUG... https ...

  6. ABAP动态自建表维护程序Dynamin Process

    以前经常会遇到批量上传或修改数据到自建表的需求,所以在想是否可以做一个动态的程序,所有的自建表都可以用这个动态程序来维护. 于是就打算试着写动态的程序. 程序的要求:动态显示自建表ALV 动态下载Ex ...

  7. IOS中的深拷贝和浅拷贝

    标签: 什么是深拷贝?什么是浅拷贝? 为什么经常看到字符串属性要这样定义,那个copy是神马意思? @property(nonatomic,copy)NSString* name; 为什么下面的写法是 ...

  8. 基于file上传文件的并发上传(多个文件一起上传到后台并把数据存储的同一条数据中,如 数据库字段videopath,imge。前台发送来的文件file1,file2。 videopath=file1,imge=file2)

    前台代码: <div class="tab-content"> <dl> <dt>所属栏目</dt> <dd> < ...

  9. [b0002] Hadoop HDFS cmd常用命令练手

    目的: 学会HDFS CLI 常用操作 环境: Hadoop 2.6.4 伪分布式版 环境搭建参考本博客前篇文章: 伪分布式 hadoop 2.6.4 帮助: hadoop@ssmaster:~$ h ...

  10. 学习springboot第一天~

    1. springboot是对spring的缺点进行改善和优化,它的约定大于配置,开箱即用,没有代码生成,也不需要xml文件配置,可以修改属性值来满足需求 2. springboot的入门程序 在id ...