1. 快速使用gitblit镜像
1.1 push 镜像
# docker pull 2859413527/gitblit
1.2 查看下载的镜像
# docker images | grep "gitblit"
docker.io/2859413527/gitblit latest dfd272c9eb15 7 hours ago 607 MB
#
1.3 启动gitblit容器
# docker run -d -P docker.io/2859413527/gitblit
# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
b1bcdf33b897 docker.io/2859413527/gitblit "/usr/bin/java -ja..." 3 seconds ago Up 2 seconds 0.0.0.0:32771->9010/tcp, 0.0.0.0:32770->29418/tcp naughty_engelbart
#
1.4 启动容器指定端口/挂在git数据文件
如果需要将目录挂载出来,则需要调整selinux,这里为了测试先将selinux关闭
# setenforce 0
# docker run -d --restart=always --name gitblit-server -p 9010:9010 -p 29418:29418 -v /git:/git docker.io/2859413527/gitblit
通过浏览器 ip:9010 进行访问
2. 解析dockerfile文件
2.1 Dockerhub 和 github地址
dockerhub地址: https://hub.docker.com/r/2859413527/gitblit
github地址: https://github.com/LoongLiWang/dockerfile_by_gitblit
2.2 解析dockerfile
# 基于哪个镜像来创建的,这里是centos
FROM centos
# dockerfile的作者信息
LABEL MAINTAINER 'liwang <2859413527@QQ.COM>'
# 设置gitblit版本的环境变量
ENV GITBLITVERSION 1.8.0
# 从官网将其gitblit下载至容器的/目录下
# 普及一下,ADD 和 COPY的区别
# COPY: 仅仅是复制
# ADD: 可以跟压缩文件,例如,tar/zip 等,ADD会自动解压,也可以跟链接,如下面所示,它会下载文件至镜像中,此外,ADD会导致构建缓存失效
ADD http://dl.bintray.com/gitblit/releases/gitblit-${GITBLITVERSION}.tar.gz /gitblit-${GITBLITVERSION}.tar.gz
# 将工作目录设置 /
WORKDIR /
# 使用yum安装openjdk
# RUN 模块后面可以跟命令
RUN yum install -y java-1.8.0-openjdk java-1.8.0-openjdk-devel
# 对下载的gitblit进行解压
# 解压完毕后删除刚刚下载的压缩包
# 修改gitblit配置文件的httpPort和repositoriesFolder
RUN set -x \
&& tar xf gitblit-${GITBLITVERSION}.tar.gz \
&& rm -f gitblit-${GITBLITVERSION}.tar.gz \
&& cd gitblit-${GITBLITVERSION}/data \
&& mkdir /git \
&& sed -i 's/server.httpPort = 0/server.httpPort = 9010/g' defaults.properties \
&& sed -i 's#git.repositoriesFolder = ${baseFolder}/git#git.repositoriesFolder = /git#g' defaults.properties
# 将工作目录设置为刚刚解压的gitblit目录中
WORKDIR /gitblit-${GITBLITVERSION}
# 开放 9010 和 29418 端口
EXPOSE 9010
EXPOSE 29418
# 启动gitblit
# CMD 后面同样跟命令,与RUN不同的是,CMD是容器启动的时候的命令
CMD ["/usr/bin/java","-jar","gitblit.jar","--baseFolder","data"]
自己是在造轮子么,哈哈哈