nexus部署及配置https访问

1. 使用docker-compose部署nexus

  1. docker-compose-nexus.yml

    yaml 复制代码
    version: "3"
    services:
      nexus:
        container_name: my-nexus
        image: sonatype/nexus3:3.67.1
        hostname: my-nexus
        network_mode: host
        ports:
          - 8081:8081
        deploy:
          resources:
            limits:
              cpus: '4'
              memory: 8192M
            reservations:
              cpus: '4'
              memory: 4096M
        healthcheck:
          test: ["CMD", "curl", "-f", "http://localhost:8081"]
          interval: 30s
          timeout: 10s
          retries: 3
        volumes:
          - "/data/nexus:/nexus-data"
          - "/etc/localtime:/etc/localtime"
        restart: always
        
  2. 部署

    shell 复制代码
    docker-compose -f docker-compose-nexus.yml up -d
  3. 根据自己服务器IP地址,配置hosts

    shell 复制代码
    vim /etc/hosts
    
    192.168.xxx.xxx my-nexus
  4. 防火墙开放8081端口

    shell 复制代码
    firewall-cmd --zone=public --add-port=8081/tcp --permanent
    firewall-cmd --reload
  5. web访问

    http://192.168.xxx.xxx:8081

    用户名:admin

    容器创建会生成默认密码,在容器内的/nexus-data/admin.password中。由于做了数据卷映射。所以在宿主机/data/nexus中也能看到admin.password

    使用默认密码登录成功后,根据提示修改密码

2. 配置https访问

  1. docker-compose-nginx.yml

    yaml 复制代码
    version: "3"
    services:
      nginx:
         restart: always
         image: nginx:1.26.2
         container_name: my-nginx
         hostname: my-nginx
         network_mode: host
         privileged: true
         volumes:
           - "/config/nginx/nginx.conf:/etc/nginx/nginx.conf"
           - "/config/nginx/conf.d:/etc/nginx/conf.d"
           - "/logs/nginx:/var/log/nginx"
           - "/data/nginx:/data/nginx"
  2. ssl证书及配置文件

    • 自己生成ssl证书,放到指定目录

    • 配置文件

      conf 复制代码
      server {
              listen    18081 ssl;
              server_name  localhost;
              ssl_certificate      /etc/nginx/conf.d/certs/server.crt;
              ssl_certificate_key  /etc/nginx/conf.d/certs/server.key;
              ssl_session_cache    shared:SSL:1m;
              ssl_session_timeout  5m;
              ssl_protocols TLSv1.2 TLSv1.3;
              ssl_ciphers ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256;
              ssl_prefer_server_ciphers  on;
      		server_tokens off;
      		add_header Strict-Transport-Security "max-age=3600; includeSubDomains";
              client_max_body_size 2000m;
              root html;
       	      charset 'utf-8';
      		
      		location / {
      			proxy_set_header    X-Forwarded-For $proxy_add_x_forwarded_for;
      			proxy_set_header    Host $http_host;
      			proxy_set_header   X-Forwarded-Proto https;  # 转发时使用https协议
      			server_name_in_redirect on;
      			proxy_pass      http://my-nexus:8081;
              }
      	
      }
  3. 部署

    shell 复制代码
    docker-compose -f docker-compose-nginx.yml up -d
  4. 根据服务器IP,配置hosts

    shell 复制代码
    vim /etc/hosts
    
    192.168.xxx.xxx my-nginx
  5. 防火墙开放18081端口

    shell 复制代码
    firewall-cmd --zone=public --add-port=18081/tcp --permanent
    firewall-cmd --reload
  6. web访问

    https://192.168.xxx.xxx:18081

相关推荐
leeyi11 小时前
把软件装进不能上网的机房——一套建好了、还没上过战场的交付工程(第101篇)
docker·aigc·agent
YIAN13 小时前
Docker + Nginx 核心原理扫盲:从环境隔离到反向代理,运维面试必考点
后端·docker·面试
IT大白鼠16 小时前
Docker 实战 ELKF 日志监控:容器日志全栈收集分析方案
运维·docker·容器
kekekzt1 天前
TCP协议的粘包问题介绍,IP分片,MTU,MSS,滑动窗口的概念及之间的关系
网络·网络协议·tcp/ip
小张同学a.1 天前
Docker 容器实战 1—— docker 基础与镜像构建
linux·运维·docker·容器
NJCloud1 天前
Docker 容器技术入门:部署、核心概念与基础命令
运维·docker·容器
2601_962072331 天前
docker自建rustdesk-server远程桌面
运维·docker·容器
pnoker1 天前
从零部署 IoT DC3:四步快速启动实录
物联网·docker·部署
虎王物联1 天前
RK3568嵌入式Linux跑Docker:内核配置排查到AIoT容器化的完整路径
linux·运维·docker·rk3568·aiot·嵌入式linux
Learn-Share_HY1 天前
[IT Network]如何配置反向路徑過濾器(rp_filter),以解決路由不對稱問題?
linux·嵌入式硬件·物联网·网络协议·tcp/ip·http·iot