1、拉取官方镜像
docker pull redis
2、运行容器
docker run -di -p 8081:8081 -p 8082:8082 -p 8083:8083 -p 8084:8084 --name=nexus3 -v /data/nexus-data:/nexus-data --privileged=true restart= always sonatype/nexus3
解释一下四个端口映射作用
8081:nexus3网页端
8082:docker(hosted)私有仓库,可以pull和push
8083 : docker(proxy)代理远程仓库,只能pull
8084:docker(group)私有仓库和代理仓库的组,只能pull
nexus-data目录 :docker里存放nexus数据目录,所有数据存放在宿主机/data/nexus-data
3、挂载目录授权
chown -R 200 /data/nexus-data/
4、重启容器
docker restart nexus3
5、创建docker私有仓库
6、测试提交镜像到nexus3创建的私有仓库
把本地的redis镜像打标签
docker tag redis 172.16.0.10:8082/redis
登录docker镜像仓库
docker login -u admin -p admin123 172.16.0.10:8082
提交镜像
docker push 172.16.0.10:8082/redis
去nexus3的docker私有仓库查看镜像是否提交成功
下面附上提交镜像的操作轨迹图片
6、settings.xml配置如下
<?xml version="1.0" encoding="UTF-8"?>
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">
<localRepository>/devs/software/repository</localRepository>
<pluginGroups>
<pluginGroup>com.spotify</pluginGroup>
</pluginGroups>
<proxies>
</proxies>
<servers>
<!--公共组用户认证-->
<server>
<id>public</id>
<username>deployment</username>
<password>deployment</password>
</server>
<!--发布版本用户认证-->
<server>
<id>releases</id>
<username>deployment</username>
<password>deployment</password>
</server>
<!--快照版本用户认证-->
<server>
<id>snapshots</id>
<username>deployment</username>
<password>deployment</password>
</server>
</servers>
<!--为仓库列表配置的下载镜像列表-->
<mirrors>
<mirror>
<!--该镜像的唯一标识符。id用来区分不同的mirror元素-->
<id>maven-public</id>
<!--此处配置所有的构建均从私有仓库中下载 *代表所有-->
<mirrorOf>*</mirrorOf>
<!--该镜像的URL。构建系统会优先考虑使用该URL,而非使用默认的服务器URL-->
<url>http://192.168.100.101:8081/repository/maven-public/</url>
</mirror>
</mirrors>
<profiles>
<profile>
<id>nexus</id>
<repositories>
<repository>
<id>public</id>
<url>http://192.168.100.101:8081/repository/maven-public/</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
<repository>
<id>release</id>
<url>http://192.168.100.101:8081/repository/maven-releases/</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
<repository>
<id>snapshots</id>
<url>http://192.168.100.101:8081/repository/maven-snapshots/</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<id>releases</id>
<url>http://192.168.100.101:8081/repository/maven-releases/</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
</pluginRepository>
<pluginRepository>
<id>snapshots</id>
<url>http://192.168.100.101:8081/repository/maven-snapshots/</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
</pluginRepository>
</pluginRepositories>
</profile>
<!--设置maven编译级别-->
<profile>
<id>jdk18</id>
<activation>
<!--profile默认是否激活的标识-->
<activeByDefault>true</activeByDefault>
<!--activation有一个内建的java版本检测,如果检测到jdk版本与期待的一样,profile被激活-->
<jdk>1.8</jdk>
</activation>
<properties>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
<maven.compiler.compilerVersion>1.8</maven.compiler.compilerVersion>
</properties>
</profile>
</profiles>
<!--激活配置-->
<activeProfiles>
<activeProfile>releases</activeProfile>
</activeProfiles>
</settings>
项目中pom.xml配置
<!--将项目发布到私服中-- 和build标签同一层级>
<distributionManagement>
<repository>
<id>releases</id>
<name>maven-releases</name>
<url>http://192.168.100.101:8081/repository/maven-releases/</url>
</repository>
<snapshotRepository>
<id>snapshots</id>
<name>maven-releases</name>
<url>http://192.168.100.101:8081/repository/maven-snapshots/</url>
</snapshotRepository>
</distributionManagement>
加入deploy插件
<build>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-deploy-plugin</artifactId>
<version>2.8.2</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-source-plugin</artifactId>
<version>2.4</version>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>jar</goal>
</goals>
</execution>
</executions>
</plugin>
</build>
最后执行 mvn deploy