手把手教你搭建Docker私有仓库
章节二:使用docker部署Asp.net core web应用程序
有了前面的基础,接下来的操作就比较简单了。先准备两台虚拟机,两台机器上都配好yum源,安装好docker,设置好docker加速器。
Docker客户端:192.168.1.160;Docker私有仓库服务器:192.168.1.161
1.在服务端192.168.1.161上拉取仓库镜像:registry
[root@localhost ~]# docker pull registry
2.在服务端192.168.1.161运行docker私有仓库
[root@localhost ~]# docker run -d -v /registry:/var/lib/registry -p : --restart=always --privileged=true --name registry registry:latest
如果成功执行,则表示我们的docker私有仓库搭建成功。
下面对这条命令的部分内容做下说明。
/registry表示宿主机目录,该目录如果不存在会自动创建。
docker -v 宿主机目录:容器目录
在网上看到的解释:
把宿主机的目录挂载到容器中
或者
把docker 容器中某目录的数据 加载到 宿主机的某个目录
这样做的目的是为了防止docker私有仓库这个容器被删除时,仓库里的镜像也会被删除。
3.在客户端制作镜像
以hello-world为例,先把它拉取下来
[root@localhost ~]# docker pull hello-world
给hello-world镜像打个tag,表示新的版本
[root@localhost ~]# docker tag hello-world 192.168.1.161:/hello-world:latest
4.将新的hello-world镜像上传到私有仓库
[root@localhost ~]# docker push 192.168.1.161:/hello-world:latest
发现会报以下错误:
The push refers to a repository [192.168.1.161:5000/hello-world]
Get https://192.168.1.161:5000/v1/_ping: http: server gave HTTP response to HTTPS client
原因是docker私有仓库服务器,默认是基于https传输的,所以我们需要在客户端192.168.1.160做相关设置,不使用https传输
[root@localhost ~]# vi /etc/docker/daemon.json
将下面的代码放进去保存并退出。
"insecure-registries":["192.168.1.161:5000"]
最终如下所示:
{
"registry-mirrors": ["https://njrds9qc.mirror.aliyuncs.com"],
"insecure-registries":["192.168.1.161:5000"]
}
依次执行下面两条命令,重新启动docker:
[root@localhost ~]# systemctl daemon-reload
[root@localhost ~]# systemctl restart docker
再次执行推送命令:
[root@localhost ~]# docker push 192.168.1.161:/hello-world:latest
5.在私有仓库192.168.1.161查看上传的镜像
[root@localhost repositories]# ls /registry/docker/registry/v2/repositories
或者在客户端执行以下命令查看:
[root@localhost ~]# curl http://192.168.1.161:5000/v2/_catalog
会输出:
{"repositories":["hello-world"]}
好,大功告成。
参考地址:
https://blog.csdn.net/mmd0308/article/details/77162004
https://www.cnblogs.com/Javame/p/7389093.html
手把手教你搭建Docker私有仓库的更多相关文章
- 一步步搭建docker私有仓库并从私有仓库中下载镜像
一步步搭建docker私有仓库 #下载镜像 docker pull registry#查看镜像 docker images #运行私有仓库,指定端口和数据卷 docker run -d -p : -v ...
- 搭建docker私有仓库
保存镜像的地方成为仓库(registry).目前有2种仓库:公共仓库和私有仓库. 最方便的是使用公共仓库上传和下载镜像,下载不需要注册,上传需要到公共仓库注册.公共仓库网站:https://hub.d ...
- windows 环境下搭建docker私有仓库
windows 环境下搭建docker私有仓库 1.在公用仓库中pull仓库镜像 docker pull regitry 2.启动仓库镜像 //-d意思是后台运行,-p是做端口映射,这里是将本地的50 ...
- Docker自学纪实(六)搭建docker私有仓库
docker的镜像仓库分两种:一种是从官方公有仓库拉取:还有就是自己搭建私有仓库.官方的镜像仓库是面对整个应用市场的:私有仓库一般用于公司内部,就是公司项目自身所需的镜像.搭建私有仓库有什么好处?私有 ...
- 03搭建docker私有仓库
搭建docker私仓,可以使用docker官方提供的registry镜像.该镜像目前有2.0,2.3和2.3.1版本.它只与1.6.0以上版本的docker兼容.搭建私仓的步骤如下: 一:无代理.无认 ...
- CentOS7搭建Docker私有仓库----Docker
有时候使用Docker Hub这样的公共仓库可能不方便,这种情况下用户可以使用registry创建一个本地仓库供私人使用,这点跟Maven的管理类似.目前Docker Registry已经升级到了v2 ...
- 搭建docker私有仓库,建立k8s集群
服务器IP角色分布 192.168.5.2 etcd server 192.168.5.2 kubernetes master 192.168.5.3 kubernetes node 192.168. ...
- 搭建docker私有仓库(https)
1.修改openssl.cnf,支持IP地址方式,HTTPS访问在Redhat7或者Centos系统中,文件所在位置是/etc/pki/tls/openssl.cnf.在其中的[ v3_ca]部分,添 ...
- 搭建Docker私有仓库&用户密码认证&web可视化界面
1.拉取镜像 docker pull hyper/docker-registry-web docker pull registry 2.安装 yum install docker-compose 3. ...
随机推荐
- p,br,hn,b,i,u,s,sup,sub标签
<!-- -->注释 <p></p>段落标签 <br />换行标签 <h1></h1> 字体标签 最大 <h6> ...
- 栈应用之 括号匹配问题(Python 版)
栈应用之 括号匹配问题(Python 版) 检查括号是否闭合 循序扫描被检查正文(一个字符)里的一个个字符 检查中跳过无关字符(所有非括号字符都与当前处理无关) 遇到开括号将其压入栈 遇到闭括号时弹出 ...
- python网络编程-optparse
Python 有两个内建的模块用于处理命令行参数: 一个是 getopt,<Deep in python>一书中也有提到,只能简单处理 命令行参数: 另一个是 optparse,它功能强大 ...
- python基础-类的继承
继承:承创建的新类称为“子类”或“派生类”,被继承的类称为“基类”.“父类. 继承的过程,就是从一般到特殊的过程.要实现继承,可以通过“继承”(Inheritance)和“组合”(Compositio ...
- 基于vue配置axios
转载地址:https://juejin.im/post/5a02a898f265da43052e0c85 1.背景 在项目开发中ajax请求是必不可缺少 一部分ajax请求不需要loading或则请求 ...
- java基础56 HTML5的标签知识(网页知识)
本文知识点(目录): 1.html常用标签 2.html实体标签 3.html媒体标签 4.html超链接标签 5.html图片标签 6.html标个标签 7.html框 ...
- COLLATE CHINESE_PRC_CI_AS_WS 的含义
排序规则:COLLATE CHINESE_PRC_CI_AS_WS 的含义 在创建数据表时,常会用到这个. 含义当中,CHINESE_prc_ 是代表中国大陆.如果是台湾,则如:Chinese_TAI ...
- MS-SQL2005服务器登录名、角色、数据库用户、角色、架构的关系
MS SQL2005对2000进行了很大的改进,而用户关系这部分也变得相当复杂了,很多朋友都对此一知半解!下面,我将把我应用中总结的和大家分享下,先从概念入手,希望对不理解的朋友有点提示. 今天我们要 ...
- Django项目流程
创建项目和应用 django-admin.py startproject project_name cd project_name python manage.py startapp app_name ...
- CVE-2013-3893
前方高能!!!这篇博文比较长,因为我把完整的调试过程都记录下来了,感兴趣的童鞋可以看下.没有耐心的童鞋可以直接跳到最后看总结:) Microsoft Internet Explorer 远程代码执行漏 ...