DockerHub 与容器网络[Docker 系列-5](下)

简介: Hello,大家好,我是子悠,作为本周的小编昨天已经跟大家介绍过自己了,今天就让我们继续学习江南一点雨( 其实江南最近好多雨,哈哈)的 Docker 系列文章吧。下面是正文。

构建自己的 DockerHub

前面我们使用的 Docker Hub 是由 Docker 官方提供的,我们也可以搭建自己的 Docker Hub ,搭建方式也很容器,因为 Docker 官方已经将 Docker 注册服务器做成镜像了,我们直接 pull 下来运行即可,没有没很酷!。具体步骤如下:

  • 拉取镜像

运行如下命令拉取registry官方镜像:

  1. docker pull registry


  • 运行

接下来运行如下命令将registry运行起来,如下:

  1. docker run -itd --name registry -p 5000:5000 2e2f252f3c88

运行成功后,我们就可以将自己的镜像提交到registry上了,如下:

81.jpg这里需要注意的是,本地镜像的命名按照 registryHost:registryPort/imageName:tag 的格式命名。

容器运行在宿主机上,如果外网能够访问容器,才能够使用它提供的服务。本文就来了解下容器中的网络知识。

暴露网络端口

在前面的文章中,我们已经有用过暴露网络端口相关的命令了,即 -p 参数,实际上,Docker 中涉及暴露网络端口的参数有两个,分别是 -p-P 。下面分别来介绍。

  • -P

使用 -P,Docker 会在宿主机上随机为应用分配一个未被使用的端口,并将其映射到容器开放的端口,以 Nginx 为例,如下:

82.jpg


可以看到,Docker 为应用分配了一个随机端口 32768 ,使用该端口即可访问容器中的 nginx(http://lcalhost:32768)。

  • -p

-p 参数则有几种不同的用法:

  • hostPort:containerPort

这种用法是将宿主机端口和容器端口绑定起来,如下用法:

83.jpg

如上命令表示将宿主机的80端口映射到容器的80上,第一个 80 是宿主机的 80 ,第二个 80 是容器的 80 。

  • ip:hostPort:containerPort

这种是将指定的 ip 地址的端口和容器的端口进行映射。如下:

84.jpg

将 192.168.0.195 地址的80端口映射到容器的80端口上。

  • ip::containerPort

这种是将指定 ip 地址的随机端口映射到容器的开放端口上,如下:

85.jpg

总结

本文主要向大家介绍了 DockerHub 和容器网络,DockerHub 是我们容器的集散中心,网络则使我们的容器有办法对外提供服务。

相关文章
|
10月前
|
Kubernetes Devops Docker
Kubernetes 和 Docker Swarm:现代 DevOps 的理想容器编排工具
本指南深入解析 Kubernetes 与 Docker Swarm 两大主流容器编排工具,涵盖安装、架构、网络、监控等核心维度,助您根据团队能力与业务需求精准选型,把握云原生时代的技术主动权。
857 115
|
10月前
|
缓存 前端开发 Docker
Docker Layer Caching:加速你的容器构建
Docker Layer Caching:加速你的容器构建
|
11月前
|
运维 持续交付 开发者
Docker:重塑现代应用开发的容器革命
Docker:重塑现代应用开发的容器革命
|
9月前
|
监控 Kubernetes 安全
还没搞懂Docker? Docker容器技术实战指南 ! 从入门到企业级应用 !
蒋星熠Jaxonic,技术探索者,以代码为笔,在二进制星河中书写极客诗篇。专注Docker与容器化实践,分享从入门到企业级应用的深度经验,助力开发者乘风破浪,驶向云原生新世界。
829 52
还没搞懂Docker? Docker容器技术实战指南 ! 从入门到企业级应用 !
|
11月前
|
运维 持续交付 开发者
Docker:现代应用开发的容器化革命
Docker:现代应用开发的容器化革命