Docker系列教程11-使用Nexus管理Docker镜像
Nexus简介
Nexus是一个多功能的仓库管理器,是企业常用的私有仓库服务器软件。目前常被用来作为Maven私服、Docker私服。本文基于 Nexus3.5.2-01
版本进行讲解。
Nexus下载
前往:https://www.sonatype.com/download-oss-sonatype ,根据操作系统,下载对应操作系统下的安装包即可。
安装
Nexus在不同系统中安装略有区别,但总体一致。下面以在Linux系统中的安装为例说明:
1 创建一个Linux用户,例如:nexus
useradd nexus
2 解压Nexus安装包,为将解压后的文件设置权限,并修改属主为nexus用户
chmod -R 755 *
chown -R nexus:nexus *
3 将目录切换到 $NEXUS_HOME/nexus-3.5.2-01/bin
目录
4 需改 nexus.rc
文件,将其内容改为:
run_as_user="nexus"
表示使用nexus用户启动Nexus。
5 如提示文件限制,可参考博文:http://www.cnblogs.com/zengkefu/p/5649407.html 进行修改。
6 执行如下命令,查看Nexus为我们提供哪些命令。
./nexus --help
可显示类似如下的内容:
Usage: ./nexus {start|stop|run|run-redirect|status|restart|force-reload}
7 指定如下命令,即可启动Nexus
./nexus start
稍等片刻,Nexus即可成功启动。
账户
Nexus提供了默认的管理员账户,账号密码分别是admin/admin123。用户可自行修改该默认账号密码。
创建Docker仓库
1 访问http://localhost:8081 并登录
2 点击“Create repository”按钮,创建仓库。Nexus支持多种仓库类型,例如:maven、npm、docker等。本文创建一个docker仓库。一般来说,对于特定的仓库类型(例如docker),细分了三类,分别是proxy、hosted、group,含义如下:
- hosted,本地代理仓库,通常我们会部署自己的构件到这一类型的仓库,可以push和pull。
- proxy,代理的远程仓库,它们被用来代理远程的公共仓库,如maven中央仓库,只能pull。
- group,仓库组,用来合并多个hosted/proxy仓库,通常我们配置maven依赖仓库组,只能pull。
3 本文创建一个hosted类型的仓库
4 配置仓库,如图,填入如下结果:
5 这样,仓库就创建完毕了。
Docker配置
下面,我们需要为Docker指定使用Nexus仓库。
1 修改 /etc/docker/daemon.json
,在其中添加类似如下的内容。
{
"insecure-registries" : [
"192.168.1.101:8082"
]
...
}
2 重启Docker
登录私有仓库
docker login 192.168.1.101:8082
即可登录私有仓库。然后,我们就可进行pull、push操作了。
容器启动Nexus
地址:https://store.docker.com/community/images/sonatype/nexus3
docker run -d -p 8081:8081 --name nexus sonatype/nexus3
为启动的容器映射端口:http://blog.csdn.net/github_29237033/article/details/46632647
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 一、Ajax的基本用法
- 图解HTTP读书笔记
- Flutter性能调优、复杂业务保证Flutter的高性能高流畅
- requests项目实战--抓取百度热搜
- [代码片段]谷歌的一个不错的CSS样式,不得不说大厂的前端设计师美感就是好。
- 罗马数字转整数
- 找出两个文件中相同的单词(java实现)
- Apache日志变量详解
- 三、jQuery中的Ajax
- SAP ABAP ADBC和Java JDBC的使用比较
- 自己开发的一个SAP CRM订单统计工具
- SAP ABAP和Java跨域请求问题的解决方案
- 使用ABAP Channel实现一个订单跟踪工具,提高日常工作效率
- SAP CRM状态字段下拉列表里数据的填充原理
- SAP CRM订单状态管理的一些重要的数据库表