美文网首页
网站搭建 | 从零开始在CentOS7中使用Docker搭建CF

网站搭建 | 从零开始在CentOS7中使用Docker搭建CF

作者: Ricsy | 来源:发表于2020-05-01 14:47 被阅读0次

温馨提示

  • 服务器配置至少4核CPU、16GB内存才能较为流畅使用,不推荐个人搭建使用

一、前期准备


1.1 下载相关软件

  • CentOS7
    步骤:打开网站=>点击"OS镜像"

  • Jira不用下载

想要直接下载,就点我


1.2 虚拟机安装CentOS7

1.2.1 安装步骤

自行百度

1.2.2 linux设置

  • 查看系统版本
    cat /etc/redhat-release
  • 查看系统语言
    echo $LANG
  • 检查系统时间
    date
  • 服务裁剪
    setup
    保留network、NetworkManager、crond、irqbalance、rsyslog、ssd、sysstat
  • 关闭防火墙
    systemctl stop firewall
  • 更改系统启动等级(使用多用户命令行)
    systemctl set-default multi-user.target
  • 更改主机名
    vim /etc/sysconfig/network
    vim /etc/hosts
    vim /etc/hostname
    hostnamectl set-hostname <新主机名>
    hostname <新主机名>
  • 安装dos2unix
    yum install dos2unix -y
  • 重启服务器
    reboot
  • 更改软件源
    rm -rf /etc/yum.repos.d/*.repo
    wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
    wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
    yum clean all && yum makecache
    yum update -y

参阅:Centos7更改yum源与更新系统

  • 卸载开源jdk
    rpm -qa|grep jdk
    yum remove -y <packagename>

1.3 CentOS7安装Oracel JDK

  • 安装oracel的jdk
    mkdir -p /usr/local/java
    cd /usr/local/java
    tar -zxvf jdk-8u171-linux-x64.tar.gz
  • 设置环境变量
    vim /etc/profile
JAVA_HOME=/usr/local/java/jdk1.8.0_171
CLASSPATH=$JAVA_HOME/lib/
PATH=$PATH:$JAVA_HOME/bin
export PATH JAVA_HOME CLASSPATH

source /etc/profile

  • 查看java版本
    java -version

参阅:CentOS7下安装jdk8环境


1.4 CentOS7安装Docker

  • 安装docker-ce
    curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun
    docker --version
  • 配置docker加速

第一种方式:


mkdir -p /etc/docker
tee /etc/docker/daemon.json <<-'EOF'

{
  "registry-mirrors": ["http://hub-mirror.c.163.com"]
}

注意:"registry-mirrors"前的空白符是一个TAB而非空格

systemctl daemon-reload
systemctl restart docker

第二种方式:
curl -sSL https://get.daocloud.io/daotools/set_mirror.sh | sh -s http://f1361db2.m.daocloud.io

参阅:配置 Docker 镜像站

  • 配置docker

dig @114.114.114.114 registry-1.docker.io | grep registry-1.docker.io. | awk -F ' ' '{print$5}'
vim /etc/hosts

xxx.xxx.xxx.xxx registry-1.docker.io

vim /etc/sysconfig/network-scripts/ifcfg-eth0

DNS1=223.5.5.5
DNS2=223.6.6.6

systemctl restart docker

参阅:

1.5 CentOS7安装MySQL5.7

  • 创建安装目录
    mkdir -p /opt/mysql
  • 将组件包上传到安装目录下
  • 解压
    tar -zxvf mysql-5.7.30-linux-glibc2.12-x86_64.tar.gz
  • 修改目录名
    mv mysql-5.7.30-linux-glibc2.12-x86_64 mysql-5.7.30
  • 检查mysql组和用户是否存在,如果没有则创建
    cat /etc/group|grep mysql
    groupadd mysql
    useradd -r -g mysql mysql
  • 创建数据目录
    cd /opt/mysql/mysql-5.7.30
    mkdir -p data
  • 将/opt/mysql/mysql-5.7.30的所有者及所属组改为mysql
    chown -R mysql:mysql /opt/mysql/mysql-5.7.30
  • 在/opt/mysql/mysql-5.7.30/support-files目录下创建my_default.cnf
    cd /opt/mysql/mysql-5.7.30/support-files
    vim my_default.cnf
[mysqld]

#设置mysql的安装目录
basedir = /opt/mysql/mysql-5.7.30
#设置mysql数据库的数据存放目录
datadir = /opt/mysql/mysql-5.7.30/data
#设置端口
port = 3306

socket = /tmp/mysql.sock

transaction-isolation=READ-COMMITTED

default-storage-engine=INNODB
innodb_default_row_format=DYNAMIC
innodb_large_prefix=ON
innodb_file_format=Barracuda
innodb_log_file_size=2G
#设置字符集
character-set-server=utf8mb4
#日志存放目录
log-error = /opt/mysql/mysql-5.7.30/data/mysqld.log
pid-file = /opt/mysql/mysql-5.7.30/data/mysqld.pid
#允许时间类型的数据为零(去掉NO_ZERO_IN_DATE,NO_ZERO_DATE,NO_AUTO_VALUE_ON_ZERO)
sql_mode=ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
#ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION,NO_AUTO_VALUE_ON_ZERO

cp my_default.cnf /etc/my.cnf

  • 初始化数据库
    /opt/mysql/mysql-5.7.30/bin/mysqld --initialize --user=mysql --basedir=/opt/mysql/mysql-5.7.30/ --datadir=/opt/mysql/mysql-5.7.30/data/
  • 获取临时密码
    cat /opt/mysql/mysql-5.7.30/data/mysqld.log | grep password
  • 启动脚本放到开机初始化目录
    cp /opt/mysql/mysql-5.7.30/support-files/mysql.server /etc/init.d/mysql
  • mysql作为系统命令
    cp /opt/mysql/mysql-5.7.30/bin/mysql /sbin/
  • systemctl启动脚本
    vim /usr/lib/systemd/system/mysql.service
[Unit]
Description=MySQL Server
Documentation=man:mysqld(8)
Documentation=http://dev.mysql.com/doc/refman/en/using-systemd.html
After=network.target
After=syslog.target

[Install]
WantedBy=multi-user.target

[Service]
User=mysql
Group=mysql


PIDFile=/opt/mysql/mysql-5.7.30/data/mysqld.pid

# Disable service start and stop timeout logic of systemd for mysqld service.
TimeoutSec=0

# Execute pre and post scripts as root
PermissionsStartOnly=true
# Needed to create system tables
#ExecStartPre=/usr/bin/mysqld_pre_systemd

# Start main service
ExecStart=/opt/mysql/mysql-5.7.30/bin/mysqld --daemonize --pid-file=/opt/mysql/mysql-5.7.30/data/mysqld.pid
# 注意这里要加上 --daemonize 
# Use this to switch malloc implementation
#EnvironmentFile=-/etc/sysconfig/mysql

# Sets open_files_limit
LimitNOFILE = 5000

Restart=on-failure

RestartPreventExitStatus=1

PrivateTmp=false

  • 启动mysql
    chkconfig mysql on
    systemctl start mysql
  • 进入mysql
    mysql -uroot -p
  • 执行SQL
-- 更改root登录密码及允许远程访问
set password=password('123456');
grant all privileges on *.* to root@'%' identified by '123456';
flush privileges;

-- 创建jira数据库及用户
create database jira character set utf8mb4 collate utf8mb4_bin;
create user jira identified by 'jiraworker';
grant select,insert,update,delete,create,drop,references,alter,index on jira.* to 'jira'@'%';
flush privileges;

-- 创建confluence数据库及用户
create database confluence character set utf8mb4 collate utf8mb4_bin;
create user cf identified by 'cfworker';
grant select,insert,update,delete,create,drop,references,alter,index on confluence.* to 'cf'@'%' ;
flush privileges;

-- 设置confdb事务级别
show variables like 'tx%';
set global tx_isolation='READ-COMMITTED';
set session transaction isolation level read committed;
show variables like 'tx%';
flush privileges;

-- 退出
exit;
  • 重启mysql服务
    systemctl restart mysql

参阅:

1.6 CentOS7安装Portainer

  • 下载镜像
    docker pull portainer/portainer
  • 启动容器
    docker run -d -p 9000:9000 -v /var/run/docker.sock:/var/run/docker.sock --name portainer portainer/portainer
  • 访问界面
    <虚拟机IP>:9000

参阅:docker的容器可视化工具portainer


二、开始安装

  • 创建文件目录
    mkdir -p /home/jira
    mkdir -p /home/confluence

2.1 安装Jira

2.1.1 第一种方式:docker安装Jira

  • 编写Dockerfile文件
    cd /home/jira
    vim Dockerfile
FROM cptactionhank/atlassian-jira-software:8.1.0

USER root

# 将代理破解包加入容器
COPY "atlassian-agent.jar" /opt/atlassian/jira/

# 设置启动加载代理包
RUN echo 'export CATALINA_OPTS="-javaagent:/opt/atlassian/jira/atlassian-agent.jar ${CATALINA_OPTS}"' >> /opt/atlassian/jira/bin/setenv.sh
  • atlassian-extras-3.2.jar上传到/home/jira
  • 构建镜像
    docker build -f Dockerfile -t jira/jira:v8.1.0 .
  • 启动容器
    docker run --detach --publish 8080:8080 --name jira -e JAVA_OPTS='-Xmx512m' jira/jira:v8.1.0

    docker run --detach --publish 8080:8080 --name jira jira/jira:v8.1.0

  • 访问Jira安装界面(界面多等等,加载慢)
    <虚拟机IP>:8080

提示:

  • 数据库类型选择MySQL5.7(报错就选择MySQL5.6)
  • 数据库、用户名及密码:jira、jira、jiraworker
  • 生成jira密钥
    java -jar /home/jira/atlassian-agent.jar -d -m test@test.com -n Test -p jira -o http://<虚拟机IP> -s <服务ID>

-m test@test.com -n Testtest@test.com修改为自己的邮箱,Test为个人的名称

【界面演示】

2.1.2 第二种方式:官方安装包

暂未提供

参阅:


2.2 安装CF

2.2.1 第一种方式:docker安装CF

  • 编写Dockerfile文件
    cd /home/confluence
    vim Dockerfile
FROM cptactionhank/atlassian-confluence:7.4.0

USER root

# 将代理破解包加入容器
COPY "atlassian-agent.jar" /opt/atlassian/confluence/

# 设置启动加载代理包
RUN echo 'export CATALINA_OPTS="-javaagent:/opt/atlassian/confluence/atlassian-agent.jar ${CATALINA_OPTS}"' >> /opt/atlassian/confluence/bin/setenv.sh
  • atlassian-extras-3.2.jar上传到/home/confluence
  • 构建镜像
    docker build -f Dockerfile -t confluence/confluence:v7.4.0 .
  • 启动容器
    docker run --detach --publish 8090:8090 --name confluence -e JAVA_OPTS='-Xmx512m' confluence/confluence:v7.4.0

    docker run --detach --publish 8090:8090 --name confluence confluence/confluence:v7.4.0

  • 访问CF安装界面(界面多等等,加载慢)
    <虚拟机IP>:8090

提示:

  • 数据库类型选择MySQL5.7(报错就选择MySQL5.6)
  • 数据库、用户名及密码:confluence、cf、cf
  • 生成jira密钥
    java -jar /home/confluence/atlassian-agent.jar -d -m test@test.com -n Test -p conf -o http://<虚拟机IP> -s <服务ID>

-m test@test.com -n Testtest@test.com修改为自己的邮箱,Test为个人的名称

【界面演示】

2.2.2 第二种方式:官方安装包

暂未提供

参阅:


参阅:


更新中......


相关文章

网友评论

      本文标题:网站搭建 | 从零开始在CentOS7中使用Docker搭建CF

      本文链接:https://www.haomeiwen.com/subject/bucxghtx.html