一机玩转docker之四:搭建bitbucket

  1. 云栖社区>
  2. 博客>
  3. 正文

一机玩转docker之四:搭建bitbucket

方解石 2018-02-16 13:24:16 浏览1924

目标

本次先讲搭建bitbucket的步骤。

一、创建数据库

注:一机玩转docker之三中已创建数据库镜像,所以本次只需要在数据库中创建数据库bitbucket即可。

二、以centos镜像为基础构建已安装jdk的镜像

官方网站下载最新版jdk安装包jdk-8u162-linux-x64.tar.gz

mkdir -p /data/build/jdk/ #创建镜像构建目录
cd /data/build/jdk/ #进入镜像构建目录
#将下载的jdk安装包jdk-8u162-linux-x64.tar.gz上传到该目录
vim Dockerfile #创建构建文件

构建文件内容如下:

FROM centos

# 更新系统及更新源(可与其他构建共享此镜像层)
RUN yum -y update \
&& yum -y install epel-release

# 追加jdk安装包
ADD jdk-8u162-linux-x64.tar.gz /usr/local/

# 安装jdk
RUN echo export JAVA_HOME=/usr/local/jdk1.8.0_162 >> /etc/profile \
&& echo export JAVA_BIN=/usr/local/jdk1.8.0_162/bin >> /etc/profile \
&& echo export PATH=$PATH:$JAVA_HOME/bin >> /etc/profile \
&& echo export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar >> /etc/profile \
&& echo export JAVA_HOME JAVA_BIN PATH CLASSPATH >> /etc/profile \
&& source /etc/profile \
&& cd /usr/bin \
&& ln -s -f /usr/local/jdk1.8.0_162/jre/bin/java \
&& ln -s -f /usr/local/jdk1.8.0_162/bin/javac

# 启动监听
CMD /bin/bash

构建镜像

docker build -t centos-jdk . #构建镜像,且镜像名为centos-jdk

注:该镜像在安装其他需要jdk的atlassian工具时,也可以使用。

三、以centos-jdk镜像为基础启动容器

docker run \
-dit \
--name tool_bitbucket \
--network main_net \
--ip 10.115.0.2 \
-v /data/prd/atlassian/bitbucket:/var/atlassian/bitbucket \
centos-jdk

四、下载相关安装包

cd /data/setup/ #进入安装包目录
wget https://github.com/git/git/archive/v2.16.1.tar.gz #下载最新版git安装包
wget https://www.atlassian.com/software/stash/downloads/binary/atlassian-bitbucket-5.8.0.tar.gz #从atlassian下载bitbucket安装包(宿主机中执行)
wget https://dev.mysql.com/get/Downloads/Connector-J/mysql-connector-java-5.1.45.tar.gz #从mysql官方下载mysql的java驱动(宿主机中执行)注:在一机玩转docker之三中已下载的,本次不必重复下载
tar zxf v2.16.1.tar.gz #解压缩git安装包(宿主机中执行)
tar zxf atlassian-bitbucket-5.8.0.tar.gz #解压缩bitbucket安装包(宿主机中执行)
tar zxf mysql-connector-java-5.1.45.tar.gz #解压缩mysql驱动包(宿主机中执行)
cp mysql-connector-java-5.1.45/mysql-connector-java-5.1.45-bin.jar atlassian-bitbucket-5.8.0/app/WEB-INF/lib/ #将解压后的mysql驱动文件复制到安装文件目录中
cd atlassian-bitbucket-5.8.0/bin #进入bitbucket执行文件目录
vi set-bitbucket-home.sh #开始编辑set-bitbucket-home.sh文件,编辑完成后退出
#------------------------
#将以下:
BITBUCKET_HOME=
#修改为:
BITBUCKET_HOME=/var/atlassian/bitbucket
#--------------------------
cd /data/setup/ #返回安装包目录
docker cp git-2.16.1 tool_bitbucket:/root/ #将解压后的git安装文件复制到容器的/root/目录下(宿主机中执行)
docker cp atlassian-bitbucket-5.8.0 tool_bitbucket:/root/ #将解压后的bitbucket文件复制到容器的/root/目录下(宿主机中执行)

五、开始安装git

docker exec -it tool_bitbucket bash #进入容器(宿主机中执行)

yum -y install epel-release gcc gcc-c++ pcre pcre-devel zlib zlib-devel \
openssl openssl-devel libcurl-devel expat-devel \
perl perl-ExtUtils-CBuilder perl-ExtUtils-MakeMaker tcl gettext-devel #安装git会依赖的包
yum -y remove git #移除git原有版本

cd /root/git-2.16.1/ #进入git源文件目录
make prefix=/usr/local/git all #编译源文件
make prefix=/usr/local/git install #安装git
echo export PATH=$PATH:.:/usr/local/git/bin >> /etc/profile #将git安装路径配置到配置文件
source /etc/profile #重新加载配置文件,使新配置生效
git --version #查看git版本

git version 2.16.1

六、开始安装bitbucket(仍在容器中操作)

cd /root/atlassian-bitbucket-5.8.0/bin #进入bitbucket执行文件目录(容器中执行)
./start-bitbucket.sh #执行bitbucket启动文件

七、在主nginx配置文件中增加反向代理配置

在/data/main/nginx/conf.d/下增加文件tool_jira.conf

文件内容:

#以下配置为将域名bitbucket.yourdomain.com反向代理到宝塔面板的管理页面
#注:在域名解析设置中需把域名bitbucket.yourdomain.com指向该阿里云ECS的公网IP
server{
        listen       80;
    server_name bitbucket.yourdomain.com;
    location / {
            proxy_redirect off;
            proxy_set_header Host $host;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_pass http://10.115.0.2:7990/;
            break;
        }
}

执行nginx容器反向代理加载最新配置命令

docker exec -it main_nginx nginx -s reload #在main_nginx容器中重新加载配置文件(在宿主机中执行该命令)

八、登陆bitbucket并配置

访问bitbucket.yourdomain.com,即可打开bitbucket配置页面。

配置完成后即可正常使用bitbucket。