首页 > 其他分享 >docker搭建本地私有仓库详细步骤

docker搭建本地私有仓库详细步骤

时间:2023-04-24 14:36:11浏览次数:36  
标签:容器 5000 私有 registry 镜像 docker 搭建

1、首先下载 registry 镜像

2、在 daemon.json 文件中添加私有镜像仓库的地址并重启

3、创建registry容器并开放端口

4、给镜像打标签后上传到私有仓库

5、获取私有仓库列表查看是否上传成功

6、验证:从私有仓库下载镜像

 

1、首先下载 registry 镜像

docker pull registry

 

 

2、在 daemon.json 文件中添加私有镜像仓库的地址并重启

vim /etc/docker/daemon.json { "insecure-registries": ["192.168.217.104:5000"], #添加,注意用逗号结尾 "registry-mirrors": ["https://ae3f5qei.mirror.aliyuncs.com"] }

systemctl restart docker.service

#运行 registry 容器

 

 docker run -itd -v /data/registry:/var/lib/registry -p 5000:5000 --restart=always --name registry registry:latest

-itd:在容器中打开一个伪终端进行交互操作,并在后台运行 -v:把宿主机的/data/registry目录绑定到容器/var/lib/registry目录(这个目录是registry容器中存放镜像文件的目录),来实现数据的持久化; -p:映射端口;访问宿主机的5000端口就访问到registry容器的服务了 --restart=always:这是重启的策略,在容器退出时总是重启容器 --name registry:创建容器命名为registry

 

registry:latest:这个是刚才pull下来的镜像

Docker容器的重启策略如下: no:默认策略,在容器退出时不重启容器 on-failure:在容器非正常退出时(退出状态非0),才会重启容器 on-failure:3 :在容器非正常退出时重启容器,最多重启3次 always:在容器退出时总是重启容器 unless-stopped:在容器退出时总是重启容器,但是不考虑在Docker守护进程启动时就已经停止了的容器

 

3、创建registry容器并开放端口

 

docker create -it registry /bin/bash
docker run -d -p 5000:5000 -v /data/registry:/tmp/registry registry
'//-p指定端口,一内一外;-v表示挂载,前者是宿主机,后者是容器'
 

  

 

4、给镜像打标签后上传到私有仓库

必须先给镜像打标签再上传,不然默认是去公共仓库

1、#为镜像打标签 docker tag centos:7 192.168.217.104:5000/centos:v1

 !# 注 如果没有centos:7 镜像 需要手动下载 docker pull centos:7

2、#上传到私有仓库 docker push 192.168.217.104:5000/centos:v1

 3、#列出私有仓库的所有镜像 curl http://192.168.217.104:5000/v2/_catalog

 4、#出私有仓库的 centos 镜像有哪些tag curl http://192.168.217.104:5000/v2/centos/tags/list

 5、#先删除原有的 centos 的镜像,再测试私有仓库下载

docker rmi -f 8652b9f0cb4c

docker pull 192.168.217.104:5000/centos:v1

 

标签:容器,5000,私有,registry,镜像,docker,搭建
From: https://www.cnblogs.com/yanjing998/p/17349396.html

相关文章

  • 直播app开发搭建,EditText保留小数位数的问题
    直播app开发搭建,EditText保留小数位数的问题 packagecom.shentaiwang.jsz.savepatient.util;importandroid.text.Editable;importandroid.text.TextWatcher;importandroid.widget.EditText;/***Createdbyjszon2017/7/22.*保留小数位数*/publicclassRetainDecimal{......
  • 在docker中查看对应k8s容器日志
    个人博客地址:https://note.raokun.top拥抱ChatGPT,国内访问网站:https://www.playchat.top最近遇到在不知道k8s环境只知道k8s部署的docker地址时,需要查看服务日志。dockerinspect容器id|greplog可查看对应的log地址......
  • 构造函数私有化或保护化
    构造函数私有化或保护化摘自:https://blog.csdn.net/caoyangxiaoyao/article/details/81184786构造函数私有化/保护化可以将构造函数设置为私有函数,但是这样做就无法从外部直接调用构造函数,因此就无法直接构造这个类的对象。1.如果你不想让外面的用户直接构造一个类(类A)的对象,而是......
  • docker部署gitlab CI/CD (二)终篇:部署gitlab runner和添加gitlab-ci.yml文件 终极踩坑版
    网上教程很多,但断断续续,先不说大部分都是只截取片段,让人云里雾里,不会的看不懂,懂的不需要看,根据步骤跑不起来不说,改了一堆,完全不解释为什么,也分不清是官方要求还是作者自己夹带的私货。痛定思痛,抛弃任何教程,根据报错实时改进,于2023年4月24日完成此篇。官方文档:https://docs.g......
  • python+uiautomator2+atx 环境搭建小白教程
    python版本(PC):3.7+ 安装方法见:Python3环境搭建|菜鸟教程(runoob.com)安装AndroidPlatformTools:安装地址: https://developer.android.com/studio/releases/platform-tools.html,解压,并加包含adb.exe的目录加入到系统的PATH中。控制面板->系统->高级系统设置->环境变量(D:......
  • docker使用
    :此文档运行环境为wsl1安装使用1.1命令[[wsl安装使用]]wsl--shutdownservicemysqlstartservicemysqlstopserviceredis-serverstartserviceredis-serverstopservicedockerstartservicedockerstop查看docker信息sudodockerinfodockerversion......
  • 手动拷贝文件至nextcloud中并扫描(docker)
    出于不能在nextcloud的web页面手动上传,需要写脚本实现自动上传文件至nextcloud的目的,直接在服务器上将文件手动拷贝到nextcloud目录:dockercp/data/filesnextcloud:/var/www/html/data/账号名/files但是一般人不这么做,一般挂载到-v卷岂不更好在nextcloud目录中我们可以这么扫......
  • .NET CORE开源 DDD微服务 支持 多租户 单点登录 多级缓存、自动任务、分布式、日志、
    源代码地址https://github.com/junkai-li/NetCoreKevin基于NET6搭建跨平台DDD思想WebApi架构、IDS4单点登录、多缓存、自动任务、分布式、多租户、日志、授权和鉴权、CAP、SignalR、docker部署 如需简约项目可直接去除项目引用解耦设计都可以单独引用架构默认全部引用并启动......
  • [ Docker ] 部署 nps 和 npc 实现内网穿透
    https://www.cnblogs.com/yeungchie/云主机上运行nps创建映射目录mkdir-p~/docker/nps/config拉取镜像dockerpulloldiy/nps-server运行容器创建容器dockerrun-d--namenps--net=host-v/root/docker/nps/config:/nps/confoldiy/nps-server现在nps已经开......
  • Docker CLI docker compose exec常用命令
    Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的Linux或Windows操作系统的机器上,也可以实现虚拟化。Docker是内核虚拟化,不使用Hypervisor是不完全虚拟化,依赖内核的特性实现资源隔离。本文主要介绍DockerCLI中d......