title: Nexus私服+Docker私服+GitLab私服的一些记录
Nexus私服 (N K SA SI)
- 基本
- 一种maven的仓库管理器
- 比较吃内存,虚拟机最好开2G内存
- 在项目中为什么用私服
- 企业模块开发,不想将代码暴露并随意修改,所以放到私服公用
- 流程
- 配置认证信息。maven的setting.xml添加nexus认证信息(在servers的节点下)
- Maven的一些命令
- mvn install
- mvn deploy
- 仓库有快照版本,发型版本等
- free -h 查询内存占用
- chmod 777修改权限
- 使用 Docker 来安装和运行 Nexus,docker-compose.yml内容为
version: '2.0'
services:
nexus:
restart: always
image: sonatype/nexus3
container_name: nexus
ports:
- 7090:8081
volumes:
- /usr/local/docker/nexus/data:/nexus-data
启动docker-compose up -d
。
查看是否启动成功docker-compose logs nexus(服务的名称)
第一次启动可能会出现权限问题chmod 777 /usr/local/docker/nexus/data
2. 登录http://192.168.2.133:7090/ 用户名:admin 密码:admin123
3. 配置认证信息,在 Maven settings.xml中添加 Nexus 认证信息(servers 节点下):
<server>
<id>nexus-releases</id>
<username>admin</username>
<password>admin123</password>
</server>
<server>
<id>nexus-snapshots</id>
<username>admin</username>
<password>admin123</password>
</server>
- 配置自动化部署.在 pom.xml 中添加如下代码:
<!-- 配置自动化部署 -->
<distributionManagement>
<repository>
<id>nexus-releases</id>
<name>Nexus Release Repository</name>
<url>http://192.168.2.133:7090/repository/maven-releases/</url>
</repository>
<snapshotRepository>
<id>nexus-snapshots</id>
<name>Nexus Snapshot Repository</name>
<url>http://192.168.2.133:7090/repository/maven-snapshots/</url>
</snapshotRepository>
</distributionManagement>
- 部署到仓库
mvn deploy
- 上传第三方 JAR 包
mvn -X deploy:deploy-file "-DgroupId=cn.wolfcode" "-DartifactId=p2p" "-Dversion=3.6.0" "-Dpackaging=jar" "-Dfile=D:\nexus-textSf.jar" "-Durl=http://192.168.2.133:7090/repository/maven-3rd/" "-DrepositoryId=thirdparty"
为什么带双引号。不带双引号会报找不到pom的错。加了双引号就可以上传了。
- 使用上传的jar包。
- setting.xml添加镜像。 然后pom引入jar包。
<mirror>
<id>nexus</id>
<name>private maven</name>
<url>http://192.168.2.133:7090/repository/maven-public/</url>
<mirrorOf>*</mirrorOf>
</mirror>
Docker私服
- 安装使用registry
- docker pull 是从官网下载
- 流程
- 配置客户端 /etc/docker/daemon.json
- docker info查看配置成功否
- docker tag tomcat 192.168.1.21:5000/tomcat
- docker push 192.168.1.21:5000/tomcat 推送到私服
- 安装webui
- 拉取registry镜像
docker pull registry
- 通过registry镜像启动容器
docker run -d -v /opt/docker-registy -p 5000:5000 --name myRegistry registry
- 容器启动后打开浏览器输入192.168.140.132:5000/v2/ 返回{}说明运行正常
- 修改/etc/docker/daemon.json文件,增加
"insecure-registries": ["192.168.140.132:5000"]
- 然后重启docker引擎
service docker restart
- 推送到私有服务器
docker pull 192.168.140.132:5000/liuyaofang/tomcat
- 推送成功查看http://192.168.140.132:5000/v2/_catalog可以看到仓库
- http://192.168.140.132:5000/v2/仓库名/tags/list 可以查看tags标签
- 拉取镜像
docker pull 192.168.140.132:5000/liuyaofang/tomcat:my