docker部署nexus并启用https方式

 更新时间:2023年08月31日 09:03:58   作者:songjxin  
这篇文章主要介绍了docker部署nexus并启用https方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

docker部署nexus并启用https

实现目标

  • docker 运行nexus
  • nexus docker仓库支持https
  • docker client只需要把ca证书放到docker目录下,不需要整个机器信任。
  • nexus用 ip:port的方式访问

构建nexus镜像

生成证书

# 这里的ip换为nexus运行机器的ip
echo subjectAltName = IP:10.110.25.191 > extfile.cnf
# 生成ca
openssl genrsa -out ca.key 2048
openssl req -x509 -new -nodes -key ca.key -days 5000 -out ca.crt
# 生成server证书
openssl genrsa -out server.key 2048
openssl req -new -key server.key -subj "/CN=10.110.25.191" -out server.csr
openssl x509 -req -in server.csr -CA ca.crt -CAkey ca.key -CAcreateserial -extfile extfile.cnf -out server.crt -days 5000
# 将证书导出成pkcs格式
# 这里需要输入密码  用password,如果不用这个,需要修改镜像里的${jetty.etc}/jetty-https.xml,具体操作参考百度。
openssl pkcs12 -export -out keystore.pkcs12 -inkey server.key -in server.crt

构建镜像

FROM sonatype/nexus3
USER root
COPY keystore.pkcs12 /keystore.pkcs12
RUN keytool -v -importkeystore -srckeystore keystore.pkcs12 -srcstoretype PKCS12 -destkeystore keystore.jks -deststoretype JKS -storepass password -srcstorepass password  &&\
    cp keystore.jks /opt/sonatype/nexus/etc/ssl/
USER nexus
docker build ./ -t nexus-https

启动

# 8443是nexus ui https访问端口
# 8081是nexus ui http访问端口
# 8082将要用来作为docker代理docker hub的端口
# 8083将要用来作为docker本地仓库的端口
docker run -d --restart=always -p 8443:8443 -p 8081:8081 -p 8082:8082 -p 8083:8083 --name nexus3 -v /docker/nexus/nexus-data:/nexus-data nexus-https:latest
# 修改nexus的目录权限
chmod -R 777 /docker
# 等容器启动,可以正常访问页面之后修改配置文件,开启ssl
vim /docker/nexus/nexus-data/etc/nexus.properties
# 内容如下:
# Jetty section
application-port-ssl=8443
application-port=8081
application-host=0.0.0.0
nexus-args=${jetty.etc}/jetty.xml,${jetty.etc}/jetty-http.xml,${jetty.etc}/jetty-requestlog.xml,${jetty.etc}/jetty-https.xml
nexus-context-path=/${NEXUS_CONTEXT}
#Nexus section
nexus-edition=nexus-pro-edition
nexus-features=\
 nexus-pro-feature
nexus.clustered=false
# 重启容器
docker restart nexus3

创建仓库

设置realms

在realms中把 docker bearer token realm 选为 active

创建docker的代理仓库,代理docker hub

设置 -> repositories -> create repositories -> docker(proxy)

把https的选项选上,端口号填写8082,Docker index 选择Docker Hub,其他的按照默认填写

client访问

在client端的服务器上创建 /etc/docker/certs.d/<nexus ip>:8082/文件夹。

将生成ca证书步骤生成的 ca.crt复制到 这个文件夹中。

docker login 试一下。

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • 详解修改docker启动默认网桥docker0为自定义网桥

    详解修改docker启动默认网桥docker0为自定义网桥

    本篇文章主要介绍了详解修改docker启动默认网桥docker0为自定义网桥 ,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-05-05
  • docker-compose安装部署NebulaGraph图数据库的详细过程

    docker-compose安装部署NebulaGraph图数据库的详细过程

    NebulaGraph Studio是一款可以通过Web访问的开源图数据库可视化工具,搭配NebulaGraph内核使用,提供构图、数据导入、编写nGQL查询等一站式服务,这篇文章主要介绍了docker-compose安装部署NebulaGraph图数据库的详细过程,感兴趣的朋友一起看看吧
    2023-12-12
  • docker容器分配固定ip的实现示例

    docker容器分配固定ip的实现示例

    如果不固定ip,每次主机重启后,docker会动态给容器分配ip,导致redis容器的IP自动换了 ,然后还得去改配置就很烦,本文主要介绍了docker容器分配固定ip的实现示例,具有一定的参考价值,感兴趣的可以了解一下
    2023-12-12
  • Docker制作tomcat镜像并部署项目

    Docker制作tomcat镜像并部署项目

    这篇文章主要介绍了Docker制作tomcat镜像并部署项目方法的相关资料,需要的朋友可以参考下
    2022-11-11
  • 手把手教你docker部署(使用docker-compose)教程

    手把手教你docker部署(使用docker-compose)教程

    使用 Docker Compose 可以轻松、高效的管理容器,下面这篇文章主要给大家介绍了关于手把手教你docker部署(使用docker-compose)的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2023-01-01
  • 基于docker部署Jenkins的详细教程

    基于docker部署Jenkins的详细教程

    这篇文章主要介绍了基于docker部署Jenkins,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-07-07
  • 一文快速入门Docker推荐

    一文快速入门Docker推荐

    这篇文章主要介绍了一文快速入门Docker推荐,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-06-06
  • docker swarm快速部署redis分布式集群的详细过程

    docker swarm快速部署redis分布式集群的详细过程

    这篇文章主要介绍了docker swarm快速部署redis分布式集群,只需要通过docker-compose.yml文件和一个启动命令就完成redis分布式部署的方式,让其分别部署在不同机器上,并实现集群搭建,需要的朋友可以参考下
    2022-10-10
  • docker logs-查看docker容器日志的实现

    docker logs-查看docker容器日志的实现

    这篇文章主要介绍了docker logs-查看docker容器日志的实现方式,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-03-03
  • docker安装elasticsearch和kibana的方法步骤

    docker安装elasticsearch和kibana的方法步骤

    这篇文章主要介绍了docker安装elasticsearch和kibana的方法步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-06-06

最新评论