当前位置: 首页 > news >正文

Docker 18.03私有仓库搭建

docker私有仓库192.168.254.137
docker客户机192.168.254.128
我们在使用Docker时 下载镜像一般都是在外网下载并使用。可是当我们没有外网时我们不得不自己搭建私有仓库。
流程图:
Docker 18.03私有仓库搭建
docker 版本
[root@docker ~]# docker version
Client:
Version: 18.03.1-ce
API version: 1.37
Go version: go1.9.5
Git commit: 9ee9f40
Built: Thu Apr 26 07:20:16 2018
OS/Arch: linux/amd64
Experimental: false
Orchestrator: swarm

Server:
Engine:
Version: 18.03.1-ce
API version: 1.37 (minimum version 1.12)
Go version: go1.9.5
Git commit: 9ee9f40
Built: Thu Apr 26 07:23:58 2018
OS/Arch: linux/amd64
Experimental: false

安装docker 
https://blog.51cto.com/10158955/2125450

下载registry 镜像并且run起来
docker pull registry
[root@docker ~]# docker pull registry

Using default tag: latest
Trying to pull repository docker.io/library/registry ...
latest: Pulling from docker.io/library/registry
Digest: sha256:672d519d7fd7bbc7a448d17956ebeefe225d5eb27509d8dc5ce67ecb4a0bce54
Status: Downloaded newer image for docker.io/registry:latest

查看下载的镜像
docker images
[root@docker ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
docker.erick.com:5000/hello-world latest b2b03e9146e1 3 weeks ago 33.3MB
registry 2 b2b03e9146e1 3 weeks ago 33.3MB
registry latest b2b03e9146e1 3 weeks ago 33.3MB

通过刚刚下载的镜像Run起来一个容器,并挂载目录
[root@docker ~]# docker run -d -p 5000:5000 -v /myregistry:/var/lib/registry registry:2 ##把宿主机的5000端口映射给docker 的5000端口。

查看此时刚刚创建的容器
[root@docker ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
7c92ce5571d5 registry:2 "/entrypoint.sh /etc…" 15 minutes ago Up 15 minutes 0.0.0.0:5000->5000/tcp relaxed_saha

进入容器我们查看容器的目录
[root@docker ~]# sudo docker exec -it 7c92ce5571d5 sh
/ #
Docker 18.03私有仓库搭建
exit 退出容器
然后在”/etc/docker/“目录下,创建”daemon.json“文件。并添加
[root@docker ~]# cat /etc/docker/daemon.json
{
"registry-mirrors": ["https://registry.docker-cn.com"],
"insecure-registries": ["docker.erick.com:5000"]
}

注意书写格式为json格式,有严格的书写要求;
第1行是国内镜像源
第2行是docker私有仓库地址;docker.erick.com(这里用的是域名也可以是IP)就是docker私有仓库的地址,添加后连接docker私有仓库就是用http协议了。

修改/etc/hosts 能够 解析到 docker.erick.com
[root@docker ~]# cat /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.254.137 docker.erick.com
注意:每个版本的docker修改配置内容都不同
[root@docker ~]# cat /etc/sysconfig/docker
OPTIONS='--selinux-enabled --insecure-registry 192.168.254.137:5000'
重新启动docker 服务
systemctl restart docker
开始把镜像导入到私有仓库
查看此时存在的docker 镜像
[root@docker ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
docker.erick.com:5000/hello-world latest b2b03e9146e1 3 weeks ago 33.3MB
registry 2 b2b03e9146e1 3 weeks ago 33.3MB
registry latest b2b03e9146e1 3 weeks ago 33.3MB
注意:为docker.io/hello-world 镜像更名为docker.erick.com:5000/hello-world
Docker 18.03私有仓库搭建
把刚刚更改好名字的镜像上传至私有镜像
Docker 18.03私有仓库搭建
Docker 18.03私有仓库搭建
可以看到我们已经把镜像上传到了 我们自己搭建的私有镜像仓库。我们看下存放仓库的位置
先查看宿主机:
Docker 18.03私有仓库搭建

页面可以查看仓库中的镜像
http://docker.erick.com:5000/v2/_catalog
Docker 18.03私有仓库搭建

客户端去使用远程镜像:
首先要修改配置,与137主机一样的配置
scp /etc/docker/daemon.json root@192.168.254.128:/etc/docker
重启服务
systemctl restart docker
远程到私有仓库拉取镜像
docker pull docker.erick.com:5000/nginx-web
docker: Error response from daemon: Get http://docker.erick.com:5000/v2/: dial tcp: lookup docker.er
这个报错是因为域名解析问题 ,要么你就用IP 要么 你要在本地解析一些
Docker 18.03私有仓库搭建
Docker 18.03私有仓库搭建
OK

转载于:https://blog.51cto.com/10158955/2152305

相关文章:

  • mariadb的安装、apache安装
  • 记一次删除Git记录中的大文件的过程
  • CoreOS那些事之Rkt容器尝鲜(上)
  • 入学人数突破1000人! 阿里云大学云学院,开启创新育才实践之路!
  • Opencv笔记(十六)——认识轮廓
  • md5学习
  • 批量kill 某个用户session
  • Failed to create AppDomain 'xxx'. Exception has been Failed to create AppDomain
  • JWT究竟是什么呢?
  • Win#password;;processon #clone;;disassemble;;source find
  • PHP全栈开发(三):CentOS 7 中 PHP 环境搭建及检测
  • V神新论文|STARKs III: Into the Weeds(下)
  • Docker学习笔记三:Docker镜像image
  • python学习之老男孩python全栈第九期_day029知识点总结——configparser模快、logging模块...
  • python爬虫知识点总结(二十三)Scrapy中Download Middleware的用法
  • [译]如何构建服务器端web组件,为何要构建?
  • 2019年如何成为全栈工程师?
  • CSS 三角实现
  • EOS是什么
  • Go 语言编译器的 //go: 详解
  • IE报vuex requires a Promise polyfill in this browser问题解决
  • React-生命周期杂记
  • Spring Boot MyBatis配置多种数据库
  • Yeoman_Bower_Grunt
  • 诡异!React stopPropagation失灵
  • 每天10道Java面试题,跟我走,offer有!
  • 数据可视化之 Sankey 桑基图的实现
  • 说说动画卡顿的解决方案
  • d²y/dx²; 偏导数问题 请问f1 f2是什么意思
  • mysql 慢查询分析工具:pt-query-digest 在mac 上的安装使用 ...
  • #我与虚拟机的故事#连载20:周志明虚拟机第 3 版:到底值不值得买?
  • (Forward) Music Player: From UI Proposal to Code
  • (Ruby)Ubuntu12.04安装Rails环境
  • (附源码)ssm高校运动会管理系统 毕业设计 020419
  • (附源码)基于ssm的模具配件账单管理系统 毕业设计 081848
  • (算法)前K大的和
  • (太强大了) - Linux 性能监控、测试、优化工具
  • (原創) 如何刪除Windows Live Writer留在本機的文章? (Web) (Windows Live Writer)
  • (转)memcache、redis缓存
  • (转)利用ant在Mac 下自动化打包签名Android程序
  • (转载)Linux网络编程入门
  • .NET 3.0 Framework已经被添加到WindowUpdate
  • .net core 6 集成和使用 mongodb
  • .net 验证控件和javaScript的冲突问题
  • .Net8 Blazor 尝鲜
  • .NET中GET与SET的用法
  • /3GB和/USERVA开关
  • /deep/和 >>>以及 ::v-deep 三者的区别
  • @Data注解的作用
  • @Repository 注解
  • @SuppressWarnings(unchecked)代码的作用
  • [ C++ ] STL priority_queue(优先级队列)使用及其底层模拟实现,容器适配器,deque(双端队列)原理了解
  • [BZOJ2208][Jsoi2010]连通数
  • [C#]winform部署yolov9的onnx模型
  • [Docker]六.Docker自动部署nodejs以及golang项目