美文网首页
Docker-Nexus的安装使用

Docker-Nexus的安装使用

作者: Lukes_zhai | 来源:发表于2020-01-09 11:20 被阅读0次

    我们构建服务的镜像,或者是个人生成的惊险,需要仓库的管理,作为docker常用的私服镜像仓库Nexus很友好的兼容。这里个人操作了一边,用起来还是很舒服的,所以做了一下个人的笔记。

    Docker 环境下Nexus配置

    前提:

    docker开启远程访问

    docker socket说明

    默认情况下,docker使用守护进程Unix socket(var/run/docker.socket)来进行本地通信,而不会监听任何一个端口,因此只能在本地使用docker客户端或者使用docker API进行操作。如果想在其他主机上操作docker主机,就需要让docker守护进程开启一个Http Socket 通道,这样才能实现远程通信

    修改docker.service配置文件

    $ vi /lib/systemd/system/docker.service

    修改ExecStart这行参数信息

    ExecStart=/usr/bin/dockerd-H tcp://0.0.0.0:2377 -H unix:///var/run/docker.sock

    重新加载配置文件

    $ sudo systemctl daemon-reload

    重启服务

    $ sudo systemctl restart docker.service

    查看端口是否开启

    $ sudo netstat -nptl

    直接curl看是否生效

    $ sudo curlhttp://127.0.0.1:2377/info

    Nexus安装

    Nexus安装依赖的JDK1.8以上版本

    上传jdk压缩包或者在线下载并解压压缩包

    $ sudo tar –zxvf  jdk1.8.0_171.tar.gz

    修改profile设置jdk环境变量

    $ vi /etc/profile

    参数如下:

    export JAVA_HOME=/usr/local/java/jdk1.8.0_171

    export JRE_HOME=$JAVA_HOME/jre

    exportCLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH

    exportPATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH

    设置环境变量生效

    $ source /etc/profile

    验证安装是否成功

    $ java –version

    下载Nexus并安装

    官网下载地址:

    https://www.sonatype.com/download-oss-sonatype

    下载界面

    Nexus使用以及安装说明文档地址:

    https://help.sonatype.com/repomanager3

    下载版本以及安装版本

    nexus-3.16.1-02-unix.tar.gz

    解压

    $ tar –zxvf nexus-3.16.1-02-unix.tar.gz

    配置nexux文件

    $ cd /opt/nexus-3.16.1-02/bin

    $ vi nexus.rc

     编辑参数如下:

     run_as_user="root"

    nexus 设置JDK路径

    $ vi nexus

     编辑参数如下

    INSTALL4J_JAVA_HOME_OVERRIDE=/data/jdk1.8. 0_91

    不可查看日志方式启动nexus

    $ ./nexus start

    可查看日志方式启动,退出后进程会断掉

    $ ./nexus run

    配置基础信息

    访问http:ip+8081

    Neux默认的开启端口为8081

    Nexus默认的admin用户权限为

    Amdin/amdin123

    Amdin权限登录界面显示:

    启动界面

    Nexus & Docker配置

    设置Nexus信赖的http请求调用,修改docker的daemon.json配置文件

    $ cd /etc

    $ sudo chmod 777 –R docker 修改docker默认的文件访问权限

    $ cd /etc/docker

    $ vi daemon.json daemon.json文件需要手动创建,

    参数配置如下

    {

     "insecure-registries":["192.168.57.133:8082","192.168.57.133:8081"]

    }

    设置maven的setting.xml配置文件信息

    设置客户端连接的用户信息

    maven的setting.xml配置文件信息

    此处的ID信息和pom.xml文件的 ${releases }的引用相互映射

    releases             nexus发布仓库用户名密码信息

    <id>snapshots</id>                   nexus快照仓库用户名密码信息

    docker-hub              nexusd Docker仓库用户名密码信息

    Nexus仓库下docker仓库的创建说明

    如上所示:

    各个种类的nexus仓库信息。

    Docker 仓库的创建信息

    Nexus用户和权限信息的配置

    设置nexus用户的鉴权领域

    Realems设置,不然maven或者docker的上传会报错,告诉用户权限不足。

    Maven配置

    设置远程仓库用户信息配置

    <server>      

    <id>docker-hub</id>       

    <username>zhaieryuan</username>       

    <password>123456</password>       

    <configuration>        

    <email>m18761601598@163.com</email>      

    </configuration>    

    </server>

    设置仓库地址配置

    <properties>        

    <dockerHostIP>192.168.57.133</dockerHostIP>         

    <dockerRegistry>192.168.57.133:8082</dockerRegistry>      

    </properties>

    镜像登录信息配置以及docker-hub

    $ sudo docker login

    $ username

    $ password

    此处的登录时官网docker的账号信息,也可制定登录私服nexus的账号信息

    Pom.xml配置

    镜像插件配置

    <!-- Docker 镜像 -->

    <plugin>   

    <groupId>com.spotify</groupId>   

    <artifactId>docker-maven-plugin</artifactId>

    <version>0.4.13</version>   

    <executions>      

    <execution>         

    <phase>install</phase>         

    <goals>            

    <goal>build</goal>            

    <goal>tag</goal>         

    </goals>      

    </execution>   

    </executions>   

    <configuration>      

    <dockerHost>http://${dockerHostIP}:2377</dockerHost>       <imageName>${dockerRegistry}/platform/${project.artifactId}:${project.version}</imageName>       <dockerDirectory>${project.basedir}/config</dockerDirectory>      

    <resources>         

    <resource>

    <targetPath>/</targetPath>            

    <directory>${project.build.directory}</directory>            

    <include>${project.build.finalName}.jar</include>          </resource>       </resources>       <serverId>docker-hub</serverId>      

    <pushImage>true</pushImage>      

    <registryUrl>${dockerRegistry}</registryUrl>   

    </configuration>

    </plugin>

    镜像构建文件配置

    imageName=仓库地址信息,构建的镜像名称和镜像的tag

    tag= ${project.version}

    镜像构建基础信息设置

    FROM java:8

    VOLUME /tmp

    WORKDIR /opt/letsiot/

    ADD ./agw-adapter-coap.jar ./application.jar

    COPY ./gen_header /opt/letsiot COPY ./gen_ota_image.sh /opt/letsiot

    COPY ./ota_config /opt/letsiot

    ENV JAVA_OPTS "-Djava.security.egd=file:/dev/./urandom -Duser.timezone=GMT+08-Djava.net.preferIPv6Stack=true -Djava.net.preferIPv6Addresses=true -Dspring.profiles.active=product"

    ENTRYPOINT java $JAVA_OPTS -jar /opt/letsiot/application.jar

    镜像参数设置

    Maven构建流程

    构建命令参数设置

    构建debug模式设置

    $ mvn clean package –DskipTests docker:build -X

    构建镜像并上传命令

    $ mvn clean package –DskipTestsdocker:build

    相关文章

      网友评论

          本文标题:Docker-Nexus的安装使用

          本文链接:https://www.haomeiwen.com/subject/lpcyactx.html