天天看点

docker nexus 及MAVEN私服搭建一. docker二. nexus MAVEN私服搭建

一. docker

docker pull sonatype/nexus3
           
docker run -it -d  -p 8081:8081 sonatype/nexus3 -name nexus
           

若服务器内存很小, 则可以设置其内存使用大小

docker run -it -d  -p 8081:8081 -e INSTALL4J_ADD_VM_PARAMS="-Xms128m -Xmx256m -XX:MaxDirectMemorySize=256m" sonatype/nexus3 -name nexus

参数由来:

[[email protected] project]# docker inspect sonatype/nexus3
[
    {
        "Id": "sha256:0d30a5a9d4ee1abcdc56c3f6b651fb6d97803f8b3db61abb3d2e2aac50c1ca13",
        "RepoTags": [
            "sonatype/nexus3:latest"
        ],
        "RepoDigests": [
            "sonatype/[email protected]:de74345e316bd7c33c6af6b4f007ff2a53f647791b2cea83131e72fcb1a986e3"
        ],
        "Parent": "",
        "Comment": "",
        "Created": "2020-08-12T21:21:44.711989821Z",
        "Container": "0d2e94c8c356f9b0c30b1a639ebdc520f00cc4d6b4030a2ab3e9218005bf0734",
        "ContainerConfig": {
            "Hostname": "eba898107bd8",
            "Domainname": "",
            "User": "nexus",
            "AttachStdin": false,
            "AttachStdout": false,
            "AttachStderr": false,
            "ExposedPorts": {
                "8081/tcp": {}
            },
            "Tty": false,
            "OpenStdin": false,
            "StdinOnce": false,
            "Env": [
                "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
                "container=oci",
                "SONATYPE_DIR=/opt/sonatype",
                "NEXUS_HOME=/opt/sonatype/nexus",
                "NEXUS_DATA=/nexus-data",
                "NEXUS_CONTEXT=",
                "SONATYPE_WORK=/opt/sonatype/sonatype-work",
                "DOCKER_TYPE=rh-docker",
                "INSTALL4J_ADD_VM_PARAMS=-Xms2703m -Xmx2703m -XX:MaxDirectMemorySize=2703m -Djava.util.prefs.userRoot=/nexus-data/javaprefs"
            ],
            "Cmd": [
                "/bin/sh",
                "-c",
                "#(nop) ",
                "CMD [\"sh\" \"-c\" \"${SONATYPE_DIR}/start-nexus-repository-manager.sh\"]"
            ],
            "Image": "sha256:46c6a8a883e80e5ed801eb416d7d3b63373b10106f3378c980145cb371651e76",
            "Volumes": {
                "/nexus-data": {}
            },
            "WorkingDir": "",
            "Entrypoint": null,
            "OnBuild": [],
            "Labels": {
                "architecture": "x86_64",
                "build-date": "2020-07-22T12:11:33.547097",
                "com.redhat.build-host": "cpt-1007.osbs.prod.upshift.rdu2.redhat.com",
                "com.redhat.component": "ubi8-container",
                "com.redhat.license_terms": "https://www.redhat.com/en/about/red-hat-end-user-license-agreements#UBI",
                "com.sonatype.license": "Apache License, Version 2.0",
                "com.sonatype.name": "Nexus Repository Manager base image",
                "description": "The Nexus Repository Manager server           with universal support for popular component formats.",
                "distribution-scope": "public",
                "io.k8s.description": "The Nexus Repository Manager server           with universal support for popular component formats.",
                "io.k8s.display-name": "Nexus Repository Manager",
                "io.openshift.expose-services": "8081:8081",
                "io.openshift.tags": "Sonatype,Nexus,Repository Manager",
                "maintainer": "Sonatype <[email protected]>",
                "name": "Nexus Repository Manager",
                "release": "3.26.1",
                "run": "docker run -d --name NAME           -p 8081:8081           IMAGE",
                "stop": "docker stop NAME",
                "summary": "The Nexus Repository Manager server           with universal support for popular component formats.",
                "url": "https://sonatype.com",
                "vcs-ref": "0fede9a6ae85a36962206913c66bfe9965c49940",
                "vcs-type": "git",
                "vendor": "Sonatype",
                "version": "3.26.1-02"
            }
        },
        "DockerVersion": "19.03.12",
        "Author": "",
        "Config": {
            "Hostname": "eba898107bd8",
            "Domainname": "",
            "User": "nexus",
            "AttachStdin": false,
            "AttachStdout": false,
            "AttachStderr": false,
            "ExposedPorts": {
                "8081/tcp": {}
            },
            "Tty": false,
            "OpenStdin": false,
            "StdinOnce": false,
            "Env": [
                "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
                "container=oci",
                "SONATYPE_DIR=/opt/sonatype",
                "NEXUS_HOME=/opt/sonatype/nexus",
                "NEXUS_DATA=/nexus-data",
                "NEXUS_CONTEXT=",
                "SONATYPE_WORK=/opt/sonatype/sonatype-work",
                "DOCKER_TYPE=rh-docker",
                "INSTALL4J_ADD_VM_PARAMS=-Xms2703m -Xmx2703m -XX:MaxDirectMemorySize=2703m -Djava.util.prefs.userRoot=/nexus-data/javaprefs"
            ],
            "Cmd": [
                "sh",
                "-c",
                "${SONATYPE_DIR}/start-nexus-repository-manager.sh"
            ],
            "Image": "sha256:46c6a8a883e80e5ed801eb416d7d3b63373b10106f3378c980145cb371651e76",
            "Volumes": {
                "/nexus-data": {}
            },
            "WorkingDir": "",
            "Entrypoint": null,
            "OnBuild": [],
            "Labels": {
                "architecture": "x86_64",
                "build-date": "2020-07-22T12:11:33.547097",
                "com.redhat.build-host": "cpt-1007.osbs.prod.upshift.rdu2.redhat.com",
                "com.redhat.component": "ubi8-container",
                "com.redhat.license_terms": "https://www.redhat.com/en/about/red-hat-end-user-license-agreements#UBI",
                "com.sonatype.license": "Apache License, Version 2.0",
                "com.sonatype.name": "Nexus Repository Manager base image",
                "description": "The Nexus Repository Manager server           with universal support for popular component formats.",
                "distribution-scope": "public",
                "io.k8s.description": "The Nexus Repository Manager server           with universal support for popular component formats.",
                "io.k8s.display-name": "Nexus Repository Manager",
                "io.openshift.expose-services": "8081:8081",
                "io.openshift.tags": "Sonatype,Nexus,Repository Manager",
                "maintainer": "Sonatype <[email protected]>",
                "name": "Nexus Repository Manager",
                "release": "3.26.1",
                "run": "docker run -d --name NAME           -p 8081:8081           IMAGE",
                "stop": "docker stop NAME",
                "summary": "The Nexus Repository Manager server           with universal support for popular component formats.",
                "url": "https://sonatype.com",
                "vcs-ref": "0fede9a6ae85a36962206913c66bfe9965c49940",
                "vcs-type": "git",
                "vendor": "Sonatype",
                "version": "3.26.1-02"
            }
        },
        "Architecture": "amd64",
        "Os": "linux",
        "Size": 631902375,
        "VirtualSize": 631902375,
        "GraphDriver": {
            "Data": {
                "LowerDir": "/var/lib/docker/overlay2/124aa1e6ab78a4a974aa3a9b6ba0ad8b8726f051b6963d458b991582e871479a/diff:/var/lib/docker/overlay2/d68b7b661908b1bfca4770fc1210d095447cfa7a3e7e004c402621905ad05a72/diff:/var/lib/docker/overlay2/a1f65e1af2141c8ea6ffc5835a828be8150b475c81c52652e23b0fa90c5c2f54/diff",
                "MergedDir": "/var/lib/docker/overlay2/9c186df885e2c32c9d58f45acdad8f11ae96f0cbea92fcaee16227917bc5170c/merged",
                "UpperDir": "/var/lib/docker/overlay2/9c186df885e2c32c9d58f45acdad8f11ae96f0cbea92fcaee16227917bc5170c/diff",
                "WorkDir": "/var/lib/docker/overlay2/9c186df885e2c32c9d58f45acdad8f11ae96f0cbea92fcaee16227917bc5170c/work"
            },
            "Name": "overlay2"
        },
        "RootFS": {
            "Type": "layers",
            "Layers": [
                "sha256:226bfaae015f1d5712cfced3b5b628206618eaacf72f4a44d0e4084071996319",
                "sha256:70056249a0e202adae10aa45fef56ac4cc6497619767753515022bc9c1278251",
                "sha256:9f1651387ec0506570bb56d8d90b9504a181087952a02ccfbd87d9d3355dcf24",
                "sha256:2bbc1056cd22ac67dff2cf88e0ce2a2ac09e56eb7a73739b3e4df051a2cc4933"
            ]
        },
        "Metadata": {
            "LastTagTime": "0001-01-01T00:00:00Z"
        }
    }
]
           

二. nexus MAVEN私服搭建

查询nexus默认密码

#进入容器
docker exec -it nexus bash

#查看默认密码
cat /nexus-data/admin.password
           

打开8081页面 -> 登录 -> 修改密码

docker nexus 及MAVEN私服搭建一. docker二. nexus MAVEN私服搭建
docker nexus 及MAVEN私服搭建一. docker二. nexus MAVEN私服搭建
docker nexus 及MAVEN私服搭建一. docker二. nexus MAVEN私服搭建
docker nexus 及MAVEN私服搭建一. docker二. nexus MAVEN私服搭建
docker nexus 及MAVEN私服搭建一. docker二. nexus MAVEN私服搭建
docker nexus 及MAVEN私服搭建一. docker二. nexus MAVEN私服搭建
docker nexus 及MAVEN私服搭建一. docker二. nexus MAVEN私服搭建
docker nexus 及MAVEN私服搭建一. docker二. nexus MAVEN私服搭建
#使用阿里云镜像仓库做上级仓库
#可自选
https://maven.aliyun.com/repository/public
           

本地settings.xml配置

docker nexus 及MAVEN私服搭建一. docker二. nexus MAVEN私服搭建

到此, 就可以用mvn deploy发布jar包

继续阅读