Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/.htaccess/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Docker上的Confluence在更新后对现有安装运行安装辅助程序_Docker_Docker Compose_Traefik_Confluence - Fatal编程技术网

Docker上的Confluence在更新后对现有安装运行安装辅助程序

Docker上的Confluence在更新后对现有安装运行安装辅助程序,docker,docker-compose,traefik,confluence,Docker,Docker Compose,Traefik,Confluence,几天前,我的了望台用6.15.1-alpine标签更新了Docker上的Confluence。它的主机使用。由于这些更新,Confluence将显示设置屏幕。没有机会进入管理面板。当继续向导结束输入现有安装的服务器凭据时,它给出了一个错误,即安装已经存在,如果继续,该安装将被覆盖 这是重新推送确切的版本标签6.15.1标签,而不是定期的版本更新。因此,似乎不可能使用旧的工作图像。另外,其他版本似乎也被重新推出。尝试了一些旧的,也尝试了一个新的,但没有成功 docker-compose.yml 我

几天前,我的了望台用
6.15.1-alpine
标签更新了Docker上的Confluence。它的主机使用。由于这些更新,Confluence将显示设置屏幕。没有机会进入管理面板。当继续向导结束输入现有安装的服务器凭据时,它给出了一个错误,即安装已经存在,如果继续,该安装将被覆盖

这是重新推送确切的版本标签
6.15.1
标签,而不是定期的版本更新。因此,似乎不可能使用旧的工作图像。另外,其他版本似乎也被重新推出。尝试了一些旧的,也尝试了一个新的,但没有成功

docker-compose.yml
我发现图像上有以下变化:

所有权 日志中出现了无法写入日志文件的错误,因为几乎整个主目录都由名为
bin
的用户拥有:

root@8ac38faa94f1:/var/atlassian/application-data/confluence# ls -l
total 108
drwx------  2 bin        bin         4096 Aug 19 00:03 analytics-logs
drwx------  3 bin        bin         4096 Jun 15  2017 attachments
drwx------  2 bin        bin        24576 Jan 12  2019 backups
[...]
这可以通过执行chown来解决:

docker exec -it confluence bash
chown  confluence:confluence -R /var/atlassian/application-data/confluence
山内移动 My
docker compose.yml
将卷装载到
/var/atlassian/application data/confluence
中,在这些卷中,
confluence.cfg.xml
文件是从当前目录装载的。这种方法比较旧,应该将卷中的用户数据与配置文件(如
docker compose.yml
)以及应用程序本身(如
confluence.cfg.xml
)分开

在使用Docker 17.05和Docker Compose 1.8.0(至少与Confluence结合使用)时,似乎无法正常工作,因此我只是删除了第二次装载,并将配置文件放在卷中

Atlassian现在动态创建配置文件 很明显,我装载的配置文件,如
confluence.cfg.xml
server.xml
被Atlassians容器覆盖。他们现在使用Jina2,这是Ansible中常用的Python模板引擎。在启动时解析这些文件并创建Confluences配置文件,而不正确检查所有这些文件(如果它们已经存在)

以只读方式装载它们会导致应用程序崩溃,因为在Python脚本中也没有处理这一问题。通过分析它们的模板,我了解到它们几乎用环境变量替换了每个配置项。这是一种不错的方法,因此我通过env变量指定了我的
server.xml
参数,而不是移动整个文件

在我的例子中,Confluence位于Traefik反向代理的后面,需要告诉Confluence它的最终应用程序url供最终用户使用:

environment:
- ATL_proxyName=confluence.my-domain.com
- ATL_proxyPort=443
- ATL_tomcat_scheme=https
最终工作
docker compose.yml
通过应用上述所有修改,使用以下
docker compose.yml
文件再次访问现有安装工程:

version: "2"

volumes:
confluence-home:

services:
confluence:
    container_name: confluence
    image: atlassian/confluence-server:6.15.1
    #restart: always
    mem_limit: 6g

    volumes:
    - confluence-home:/var/atlassian/application-data/confluence
    - ./mysql-connector-java-5.1.42-bin.jar:/opt/atlassian/confluence/lib/mysql-connector-java-5.1.42-bin.jar
    networks:
    - traefik

    environment:
    - "TZ=Europe/Berlin"
    - JVM_MINIMUM_MEMORY=4096m
    - JVM_MAXIMUM_MEMORY=4096m
    - ATL_proxyName=confluence.my-domain.com
    - ATL_proxyPort=443
    - ATL_tomcat_scheme=https

    labels:
    - "traefik.port=8090"
    - "traefik.backend=confluence"
    - "traefik.frontend.rule=Host:confluence.my-domain.com"

networks:
    traefik:
    external: true
version: "2"

volumes:
confluence-home:

services:
confluence:
    container_name: confluence
    image: atlassian/confluence-server:6.15.1
    #restart: always
    mem_limit: 6g

    volumes:
    - confluence-home:/var/atlassian/application-data/confluence
    - ./mysql-connector-java-5.1.42-bin.jar:/opt/atlassian/confluence/lib/mysql-connector-java-5.1.42-bin.jar
    networks:
    - traefik

    environment:
    - "TZ=Europe/Berlin"
    - JVM_MINIMUM_MEMORY=4096m
    - JVM_MAXIMUM_MEMORY=4096m
    - ATL_proxyName=confluence.my-domain.com
    - ATL_proxyPort=443
    - ATL_tomcat_scheme=https

    labels:
    - "traefik.port=8090"
    - "traefik.backend=confluence"
    - "traefik.frontend.rule=Host:confluence.my-domain.com"

networks:
    traefik:
    external: true