一机玩转docker之四:搭建bitbucket

本文涉及的产品
云数据库 RDS MySQL Serverless,0.5-2RCU 50GB
简介:

目标

本次先讲搭建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。

相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
存储 关系型数据库 jenkins
软件测试|Docker搭建测试用例平台 TestLink
软件测试|Docker搭建测试用例平台 TestLink
186 0
软件测试|Docker搭建测试用例平台 TestLink
|
应用服务中间件 测试技术 nginx
软件测试|Docker 搭建Web服务器nginx
软件测试|Docker 搭建Web服务器nginx
224 0
软件测试|Docker 搭建Web服务器nginx
|
Java 持续交付 Docker
十一、Docker搭建部署SpringCloud微服务项目Demo(二)
十一、Docker搭建部署SpringCloud微服务项目Demo
|
SpringCloudAlibaba 关系型数据库 MySQL
十一、Docker搭建部署SpringCloud微服务项目Demo(一)
十一、Docker搭建部署SpringCloud微服务项目Demo
|
jenkins Java Linux
docker搭建jenkins
自动化部署可以说是项目的必须,其中jenkins可以说是标配了。jenkins在持续集成、持续交付、持续部署方面做得都很好也就是常说的CI、CD。这篇文章就总结下使用docker来搭建jenkins的过程,并记录这中间踩过的坑,防止再踩,同时也为想要学习jenkins的同学提供一点借鉴。
391 0
docker搭建jenkins
|
SQL 存储 关系型数据库
实践-基于Docker搭建的mycat分片应用
实践-基于Docker搭建的mycat分片应用
实践-基于Docker搭建的mycat分片应用
|
NoSQL 关系型数据库 MySQL
基于window10使用docker搭建lnmpr环境
基于window10使用docker搭建lnmpr环境
137 0
基于window10使用docker搭建lnmpr环境
|
SQL 存储 分布式计算
架构设计100-实践03-用Docker搭建Hive
架构设计100-实践03-用Docker搭建Hive
478 0
|
jenkins 测试技术 持续交付
软件测试|Docker 上搭建持续集成平台 Jenkins
软件测试|Docker 上搭建持续集成平台 Jenkins
184 0
软件测试|Docker 上搭建持续集成平台 Jenkins
|
Web App开发 并行计算 Ubuntu
Docker实践:使用Docker搭建个人开发环境
Docker实践:使用Docker搭建个人开发环境
1271 0
Docker实践:使用Docker搭建个人开发环境