热门标签 | HotTags
当前位置:  开发笔记 > 运维 > 正文

Docker搭建自己的本地镜像仓库的步骤

今天小编就为大家分享一篇关于Docker搭建自己的本地镜像仓库的步骤,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧

一、环境以及准备工作

  • 1.ubuntu14.04
  • 2.docker环境

二、搭建过程

1.更换镜像源(因为默认的太慢了,国内的更快)

sudo vim /etc/default/docker
输入以下参数:
DOCKER_OPTS="--registry-mirror=http://hub-mirror.c.163.com" //网易的,也可以使用daoClouds的

如果是刚安装的ubuntu环境的话,执行以下命令(当然也能用vi,或者直接写入)

sudo apt-get update //更新apt-get源,防止下载出错
sudo apt-get install vim -y //下载vim

2.启动docker并拉取registry镜像源

sudo service docker start //启动docker
sudo docker pull registry //下载registry镜像

3.下载好后查看是否下载成功

sudo docker images

4.下载后以后启动该容器,可以将容器内的数据映射挂载在自己指定的目录上,这里以/opt/data/registry为宿主机存储的目录

mkdir -p /opt/data/registry //创建目录
sudo docker run -d -p 5000:5000 -v /opt/data/registry:/var/lib/registry 
  --name private_registry registry //启动容器
-d : 让容器可以后台运行
-p :指定映射端口(前者是宿主机的端口号,后者是容器的端口号)
-v :数据挂载(前者是宿主机的目录,后者是容器的目录)
--name : 为运行的容器命名

然后查看是否成功启动该容器

sudo docker ps

5.查看宿主机的ip地址

ifconfig

6.更改docker的配置文件,添加自己的私库地址,docker启动时会加载/etc/init/docker.conf,看完该配置文件,发现其会加载/etc/default/docker文件,因此只需要将私库地址写入/etc/default/docker中即可

sudo vim /etc/default/docker
在DOCKER_OPTS更改成如下:
DOCKER_OPTS="--registry-mirror=http://hub-mirror.c.163.com --insecure-registry 192.168.147.129:5000"
**5000端口一定得加,宿主机默认是访问80端口,不想加的话可以在启动容器的时候以宿主机的80端口
映射容器的5000端口

修改以后重启容器并开启registry服务

sudo service docker restart //重启容器
sudo docker start private_registry //重启registry服务

以上五个步骤就搭建好了一个私库了.

三、测试

1.拉取一个镜像并打tag(以busybox为例,因为busybox比较小)

sudo docker pull busybox:latest //拉取镜像
sudo docker tag busybox:latest 192.168.147.129:5000/busybox

2.提交tag镜像到自己的本地镜像仓库

sudo docker push 192.168.147.129:5000/busybox

3.删除所有的关于busybox镜像并查看

sudo docker rmi busybox 192.168.147.129:5000/busybox //删除busybox镜像
sudo docker images //查看是否还有busybox镜像的信息

4.从本地镜像仓库pull busybox镜像并查看

sudo docker pull 192.168.147.129:5000/busybox
sudo docker images //查看192.168.147.129:5000/busybox镜像的信息

以上表示拉取成功了

四、反思与改进

1.以上本地仓库只要在同一个网络中就能访问

2.如何去更加方便的管理本地仓库,这个值得去思考

3.以上方式并没做身份验证,如何做身份验证也值得思考

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对的支持。如果你想了解更多相关内容请查看下面相关链接


推荐阅读
  • 本文介绍了一种在 MySQL 客户端执行 NOW() 函数时出现时间偏差的问题,并详细描述了如何通过配置文件调整时区设置来解决该问题。演示场景中,假设当前北京时间为2023年2月17日19:31:37,而查询结果显示的时间比实际时间晚8小时。 ... [详细]
  • docker镜像重启_docker怎么启动镜像dock ... [详细]
  • 本文详细介绍了 Kubernetes 集群管理工具 kubectl 的基本使用方法,涵盖了一系列常用的命令及其应用场景,旨在帮助初学者快速掌握 kubectl 的基本操作。 ... [详细]
  • 本文探讨了在Linux系统上使用Docker时,通过volume将主机上的HTML5文件挂载到容器内部指定目录时遇到的403错误,并提供了解决方案和详细的操作步骤。 ... [详细]
  • 本文探讨了如何在日常工作中通过优化效率和深入研究核心技术,将技术和知识转化为实际收益。文章结合个人经验,分享了提高工作效率、掌握高价值技能以及选择合适工作环境的方法,帮助读者更好地实现技术变现。 ... [详细]
  • 科研单位信息系统中的DevOps实践与优化
    本文探讨了某科研单位通过引入云原生平台实现DevOps开发和运维一体化,显著提升了项目交付效率和产品质量。详细介绍了如何在实际项目中应用DevOps理念,解决了传统开发模式下的诸多痛点。 ... [详细]
  • 选择适合生产环境的Docker存储驱动
    本文旨在探讨如何在生产环境中选择合适的Docker存储驱动,并详细介绍不同Linux发行版下的配置方法。通过参考官方文档和兼容性矩阵,提供实用的操作指南。 ... [详细]
  • 本文详细探讨了如何在Docker环境中实现单机部署Redis集群的方法,提供了详细的步骤和配置示例,帮助读者更好地理解和应用这一技术。 ... [详细]
  • 本文探讨如何配置 Nginx 以将传入请求反向代理到运行在本地绑定端口上的 Docker 容器,并解决常见的路径重定向问题。 ... [详细]
  • 深入解析Serverless架构模式
    本文将详细介绍Serverless架构模式的核心概念、工作原理及其优势。通过对比传统架构,探讨Serverless如何简化应用开发与运维流程,并介绍当前主流的Serverless平台。 ... [详细]
  • 本文详细介绍了如何使用Docker运行最简单的镜像,并创建第一个容器。通过具体的操作步骤和命令解释,帮助初学者快速上手Docker。完整课程请点击:Docker入门教程。 ... [详细]
  • 深入解析Docker镜像的工作机制
    本文旨在深入探讨Docker镜像的内部结构及其工作机制,包括镜像的分层体系、联合文件系统(UnionFS)的应用,以及各层如bootfs和rootfs的具体作用。 ... [详细]
  • 本文档详细介绍了如何构建和配置 EFKLK(Elasticsearch, Fluentd, Kibana, Kafka)日志采集工具链,包括命名空间创建、Elasticsearch 镜像拉取与容器运行、证书生成及配置、Helm 安装等步骤。 ... [详细]
  • NFS(Network File System)即网络文件系统,是一种分布式文件系统协议,主要用于Unix和类Unix系统之间的文件共享。本文详细介绍NFS的配置文件/etc/exports和相关服务配置,帮助读者理解如何在Linux环境中配置NFS客户端。 ... [详细]
  • 本文将指导您如何在Docker环境中高效地搜索、下载Redis镜像,并通过指定或不指定配置文件的方式启动Redis容器。同时,还将介绍如何使用redis-cli工具连接到您的Redis实例。 ... [详细]
author-avatar
顾玉妙
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有