定制自己的Confluence容器化
Posted 品鉴初心
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了定制自己的Confluence容器化相关的知识,希望对你有一定的参考价值。
获取 atlassian-confluence-7.4.0-x64.bin
由于文件有些大,另放到 公司共享盘 了~
关键配置文件
文件 | 说明 | 备注 |
---|---|---|
mysqld.cnf | mysql配置文件 | datadir = /data/mysql |
reset-passwd.sql | mysql初始化sql | 密码、授权、建库 |
supervisord.conf | 守护进程服务配置文件 | mysql和confluence |
镜像打包
without volume
# 打包
docker build -t harbor.test.com/confluence/confluence-ci:20210903 .
# push镜像库
docker push harbor.test.com/confluence/confluence-ci:20210903
with volume
# 打包
docker build -t harbor.test.com/confluence/wiki-confluence-ci:20210903 .
# push镜像库
docker push harbor.test.com/confluence/wiki-confluence-ci:20210903
容器部署 Confluence 服务
Just test
# 仅用于测试
docker run -itd --name wutf-wiki -p 8090:8090 -v /opt:/var/atlassian/application-data/confluence/restore harbor.test.com/confluence/wiki-confluence-ci:20210903
For production
容器启动
# 获取基本的配置文件
docker run -itd --name wutf-wiki -p 8090:8090 harbor.test.com/confluence/wiki-confluence-ci:20210903
docker cp wutf-wiki:/data/mysql /data/mysql/
docker cp wutf-wiki:/opt/atlassian/confluence /data/confluence/
docker cp wutf-wiki:/var/atlassian/application-data /data/application-data/
# 删除 wutf-wiki
docker rm -f wutf-wiki
# 授权
chmod -R 777 mysql/
chmod -R 777 confluence/
chmod -R 777 application-data/
# cat cat start-wiki.sh
docker run -itd --restart=always --name wutf-wiki \\
-p 8090:8090 \\
-p 3306:3306 \\
-v /data/mysql:/data/mysql \\
-v /data/confluence:/opt/atlassian/confluence \\
-v /data/application-data:/var/atlassian/application-data \\
harbor.test.com/confluence/wiki-confluence-ci:20210903
# start service
sh start-wiki.sh
# 查看服务
docker ps |grep wiki
访问 confluence 服务
http://yourIP:8090/
然后进行 confluence 安装部署,这里不再叙述~
测试
我们的 confluence 已经起来了,现在我们将该容器 rm 掉,然后重新启动,看下数据是否还在,具体操作如下:
# rm wutf-wiki
docker rm -f wutf-wiki
# 授权
chmod -R 777 mysql/
# restart service
sh start-wiki.sh
# 查看服务
# docker ps |grep wiki
bb5ee62eb6ea harbor.test.com/confluence/wiki-confluence-ci:20210903 "/usr/bin/supervisord" 4 minutes ago Up 4 minutes 0.0.0.0:3306->3306/tcp, 0.0.0.0:8090->8090/tcp wutf-wiki
我们可以看到服务正常启动,我们之前创建的test
空间还在,即数据无丢失!
我们经常也会碰到这样的启动,有人重新启动了docker服务,由于我们设置了--restart=always
,所以在wutf-wiki
也会随着启动但是会报错,如下:
我们查看下 logs 发现,其实还是mysql目录权限的问题:
2021-09-06 16:01:02,696 INFO spawned: \'mysql\' with pid 10
2021-09-06 16:01:03,657 INFO exited: confluence (exit status 0; not expected)
2021-09-06 16:01:04,661 INFO spawned: \'confluence\' with pid 610
2021-09-06 16:01:04,662 INFO success: mysql entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2021-09-06 16:01:05,557 INFO reaped unknown pid 69
2021-09-06 16:01:05,569 INFO exited: confluence (exit status 1; not expected)
2021-09-06 16:01:07,573 INFO spawned: \'confluence\' with pid 717
上面错误处理方法,跟上面一样:
# 授权
chmod -R 777 mysql/
# rm wutf-wiki
docker rm -f wutf-wiki
# restart service
sh start-wiki.sh
以上错误,均是目录权限的问题,我们在 build 镜像时,应该对 mysql 数据库目录增加权限:
chmod -R 777 /data/mysql
有空再深度优化下~
以上是关于定制自己的Confluence容器化的主要内容,如果未能解决你的问题,请参考以下文章
技术干货 | Native 页面下如何实现导航栏的定制化开发?