【问题标题】:How to change the context path of bitbucket-server in docker mode如何在docker模式下更改bitbucket-server的上下文路径
【发布时间】:2020-11-18 20:50:02
【问题描述】:

我正在寻找一种在 docker 模式下更改 bitbucket-server 的上下文路径的方法,因为我试图在 traefik 反向代理后面运行它,并希望将我的域用于多个应用程序(每个路径一个):

我希望通过 https://my.domain.name/bitbucket 为我的 bitbucket-server 提供服务,并通过 https://my.domain.name/jira... 为我的 jira 提供服务

我已经为其他 Atlassian 产品(jira、servicedesk 和 confluence)找到了使用反向代理设置 ATL_TOMCAT_CONTEXTPATH 的解决方案,bitbucket-server docker hub page 中没有描述该环境参数。

我的 docker swarm 堆栈如下所示:

version: '3'

services:

  bitbucket-server:
    image: atlassian/bitbucket-server:6.7
    deploy:
      labels:
        - "traefik.enable=true"
        - "traefik.http.routers.bitbucket-server.entryPoints=websecure"
        - "traefik.http.routers.bitbucket-server.rule=Host(`my.domain.name`) && PathPrefix(`/bitbucket`)"
        - "traefik.http.services.bitbucket-server.loadbalancer.server.port=7990"
        - "traefik.http.routers.bitbucket-server.tls=true"
        - "traefik.http.routers.bitbucket-server.tls.certresolver=letsencrypt"
        - "traefik.http.routers.bitbucket-server.tls.domains=my.domain.name"
    environment:
      - ATL_PROXY_NAME=traefik.my.domain.name
      - ATL_PROXY_PORT=443
      # next line didn't work ! 
      # - ATL_TOMCAT_CONTEXTPATH=/bitbucket
    volumes:
      - bitbucket_data:/var/atlassian/application-data/bitbucket
    networks:
      - local
      - public-proxy
    labels:
      - description= "Bitbucket"
      
  jira-software:
    image: atlassian/jira-software:8.5
    deploy:
      labels:
        - "traefik.enable=true"
        - "traefik.http.routers.jira-software.entryPoints=websecure"
        - "traefik.http.routers.jira-software.rule=Host(`my.domain.name`) && PathPrefix(`/jira`)"
        - "traefik.http.services.jira-software.loadbalancer.server.port=8080"
        - "traefik.http.routers.jira-software.tls=true"
        - "traefik.http.routers.jira-software.tls.certresolver=letsencrypt"
        - "traefik.http.routers.jira-software.tls.domains=my.domain.name"
    volumes:
      - jira_software_data:/var/atlassian/application-data/jira
    environment:
      - ATL_PROXY_NAME=traefik.my.domain.name
      - ATL_PROXY_PORT=443
      # next line did work !
      - ATL_TOMCAT_CONTEXTPATH=/jira
      - ATL_TOMCAT_SCHEME=https
      - ATL_TOMCAT_SECURE=true
    networks:
      - local
      - public-proxy
    labels:
      - description= "Jira Software"
  
  jira-servicedesk:
    image: atlassian/jira-servicedesk:4.5
    
    # ... Same as jira-software

  confluence:
    image: atlassian/confluence-server:7.1  
    
    # ... Same as jira-software
    
networks:
  local:
  public-proxy :
    external: true

volumes:
  servicedesk_data:
  confluence_data:
  jira_software_data:
  bitbucket_data:

【问题讨论】:

    标签: docker docker-swarm traefik bitbucket-server docker-stack


    【解决方案1】:

    上下文路径可以从bitbucket.properties通过添加这一行来配置

    server.context-path=/bitbucket
    

    在 docker 环境中,您可以将 bitbucket 属性文件挂载到容器中,以便替换默认文件

    volumes:
      - YOUR_BITBUCKET_PROPERTIES:<Bitbucket home directory>/shared/bitbucket.properties
    

    【讨论】:

    • 我解决了@Nourdine Alouane 所描述的问题,但是在部署堆栈并直接在容器内编辑文件 BITBUCKET_HOME/shared/bitbucket.properties 之后(docker exec -it CONTAINAR_ID bash)。因此,如果不使用卷,实际上添加卷会在部署时产生错误。
    猜你喜欢
    • 1970-01-01
    • 2013-05-03
    • 2019-01-17
    • 1970-01-01
    • 2018-06-26
    • 2018-08-17
    • 2021-10-24
    • 1970-01-01
    • 2022-10-07
    相关资源
    最近更新 更多