入职必会-开发环境搭建50-Docker必会搭建Docker私有仓库

简介: Docker官方的Docker hub(https://hub.docker.com)是一个用于管理公共镜像的仓库,我们可以从上面拉取镜像到本地也可以把我们自己的镜像推送上去。但是有时候我们的服务器无法访问互联网或者不希望将自己的镜像放到公网当中,那么我们就需要搭建自己的Docker私有仓库来存储和管理自己的Docker镜像。

Docker私有仓库搭建

Docker私有仓库介绍

Docker官方的Docker hub(https://hub.docker.com)是一个用于管理公共镜像的仓库,我们可以从上面拉取镜像到本地也可以把我们自己的镜像推送上去。但是有时候我们的服务器无法访问互联网或者不希望将自己的镜像放到公网当中,那么我们就需要搭建自己的Docker私有仓库来存储和管理自己的Docker镜像。

Docker私有仓库搭建

Docker私有仓库搭建步骤:

  1. 拉取Docker私有仓库镜像
  2. 根据Docker私有仓库镜像创建容器并启动
  3. 修改daemon.json
  4. 重启docker 服务
  5. 将镜像上传至私有仓库
  6. 从私有仓库拉取镜像

具体操作:

  1. 拉取Docker私有仓库镜像

命令说明:

# 拉取Docker私有仓库镜像
docker pull registry

操作示例:

[root@localhost ~]# docker pull registry
Using default tag: latest
latest: Pulling from library/registry
ca7dd9ec2225: Pull complete 
c41ae7ad2b39: Pull complete 
1ed0fc8a6161: Pull complete 
21df229223d2: Pull complete 
626897ccab21: Pull complete 
Digest: sha256:ce14a6258f37702ff3cd92232a6f5b81ace542d9f1631966999e9f7c1ee6ddba
Status: Downloaded newer image for registry:latest
docker.io/library/registry:latest
[root@localhost ~]#


  1. 根据Docker私有仓库镜像创建容器并启动

命令说明:

# 根据Docker私有仓库镜像创建容器并启动
docker run -di --name cregistry -p 5000:5000 registry
# 打开浏览器输入地址http://192.168.100.132:5000/v2/_catalog,看到{"repositories":[]} 表示私有仓库 搭建成功

操作示例:

[root@localhost ~]# docker run -di --name cregistry -p 5000:5000 registry
78bcb7f9f79938abe07c59bbb7833c29a83037da406fa7599cad14a53e6c91eb
[root@localhost ~]#

  1. 修改daemon.json
    命令说明:
vi /etc/docker/daemon.json
# 添加配置
"insecure-registries":["192.168.100.132:5000"]

操作示例:

[root@localhost ~]# vi /etc/docker/daemon.json
{
  "registry-mirrors": ["https://docker.mirrors.ustc.edu.cn"]
}
修改后
{
  "registry-mirrors": ["https://docker.mirrors.ustc.edu.cn"],
  "insecure-registries":["192.168.100.132:5000"]
}


  1. 重启docker 服务

命令说明:

systemctl restart docker
docker start cregistry

操作示例:

[root@localhost ~]# systemctl restart docker
[root@localhost ~]# docker start cregistry
cregistry
[root@localhost ~]#


  1. 将镜像上传至私有仓库

命令说明:

# 1.标记镜像为私有仓库的镜像 
# 语法: docker tag 镜像名 宿主机IP:5000/镜像名
docker tag centos:7 192.168.100.132:5000/centos:7
# 2.上传标记的镜像到私有仓库
# 语法: docker push 宿主机IP:5000/镜像名
docker push 192.168.100.132:5000/centos:7
# 3.输入网址查看仓库效果

操作示例:

[root@localhost ~]# docker tag centos:7 192.168.100.132:5000/centos:7
[root@localhost ~]# 
[root@localhost ~]# docker images
REPOSITORY                    TAG       IMAGE ID       CREATED          SIZE
registry                      latest    81c944c2288b   8 weeks ago      24.1MB
192.168.100.132:5000/centos   7         eeb6ee3f44bd   15 months ago    204MB
centos                        7         eeb6ee3f44bd   15 months ago    204MB
[root@localhost ~]# [root@localhost ~]# docker push 192.168.100.132:5000/centos:7
[root@localhost ~]#

  1. 从私有仓库拉取镜像

命令说明:

# 删除本地192.168.100.132:5000/centos:7镜像
docker rmi 192.168.100.132:5000/centos:7
# 拉取镜像 
# 语法: docker pull 服务器ip:5000/镜像名
docker pull 192.168.100.132:5000/centos:7
#可以通过如下命令查看 docker 的信息;了解到私有仓库地址 
docker info

操作示例:

[root@localhost ~]# docker rmi 192.168.100.132:5000/centos:7
Untagged: 192.168.100.132:5000/centos:7
Untagged: 192.168.100.132:5000/centos@sha256:dead07b4d8ed7e29e98de0f4504d87e8880d4347859d839686a31da35a3b532f
[root@localhost ~]# docker images
REPOSITORY       TAG       IMAGE ID       CREATED          SIZE
registry         latest    81c944c2288b   8 weeks ago      24.1MB
[root@localhost ~]# docker pull 192.168.100.132:5000/centos:7
7: Pulling from centos
Digest: sha256:dead07b4d8ed7e29e98de0f4504d87e8880d4347859d839686a31da35a3b532f
Status: Downloaded newer image for 192.168.100.132:5000/centos:7
192.168.100.132:5000/centos:7
[root@localhost ~]# docker images
REPOSITORY                    TAG       IMAGE ID       CREATED          SIZE
registry                      latest    81c944c2288b   8 weeks ago      24.1MB
192.168.100.132:5000/centos   7         eeb6ee3f44bd   15 months ago    204MB
[root@localhost ~]#

到此我们就可以把本地的镜像保存到Docker私有仓库,也可以从Docker私有仓库下载镜像到本地。

DockerCompose的详细语法参考官网:https://docs.docker.com/compose/compose-file/

相关文章
|
3月前
|
Java Shell Linux
入职必会-开发环境搭建49-Docker必会构建镜像
前面一直都是从Docker仓库中下载镜像然后使用。我们项目中可以通过Dockerfile构建自己的镜像。 Dockerfile是由一系列命令和参数构成的文本文件,Docker可以读取Dockerfile文件并根据Dockerfile文件的描述来构建镜像。Dockerfile文件内容一般分为4部分 ● 基础镜像信息 ● 维护者信息 ● 镜像操作指令 ● 容器启动时执行的指令
|
8天前
|
存储 Ubuntu JavaScript
如何使用Docker优化你的开发环境配置
如何使用Docker优化你的开发环境配置
|
9天前
|
Docker 容器
利用Docker Compose优化开发环境的配置
在现代软件开发中,环境一致性至关重要。开发人员常需在不同机器间复制环境配置,而Docker Compose提供了一种简便有效的方法来定义和运行多容器Docker应用程序,确保开发、测试和生产环境一致,简化团队协作,提高开发效率。通过YAML文件配置服务、网络和卷,使用简单命令即可启动和停止服务。本文将介绍Docker Compose的核心优势、基本使用方法及高级功能,帮助你更好地管理和优化开发环境。
|
1月前
|
Docker 容器
Docker自建仓库之Harbor高可用部署实战篇
关于如何部署Harbor高可用性的实战教程,涵盖了从单机部署到镜像仓库同步的详细步骤。
77 15
Docker自建仓库之Harbor高可用部署实战篇
|
27天前
|
存储 Kubernetes Cloud Native
部署Kubernetes客户端和Docker私有仓库的步骤
这个指南涵盖了部署Kubernetes客户端和配置Docker私有仓库的基本步骤,是基于最新的实践和工具。根据具体的需求和环境,还可能需要额外的配置和调整。
49 1
|
6天前
|
网络协议 应用服务中间件 nginx
私有的docker私有镜像站仓库harbor
私有的docker私有镜像站仓库harbor
|
1月前
|
存储 测试技术 数据安全/隐私保护
Docker自建仓库之Harbor部署实战
关于如何部署和使用Harbor作为Docker企业级私有镜像仓库的详细教程。
195 12
|
1月前
|
Docker 容器
Docker Hub镜像公共仓库使用
这篇文章介绍了如何使用Docker Hub公共仓库进行镜像的创建、上传、下载和管理。
580 8
|
1月前
|
运维 数据安全/隐私保护 Docker
Docker自建仓库之Docker Registry部署实战
关于如何使用Docker Registry镜像搭建本地私有Docker仓库的实战教程,包括了下载镜像、创建授权目录和用户名密码、启动Registry容器、验证端口和容器、测试登录仓库、上传和下载镜像的详细步骤。
267 5
|
2月前
|
存储 Docker 容器
阿里云私有docker仓库构建海外镜像
【8月更文挑战第25天】
174 3