使用dockerfile,创建gitblit镜像

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"]

自己是在造轮子么,哈哈哈

欢迎转发! 请保留源地址: https://www.cnblogs.com/NoneID
原文地址:https://www.cnblogs.com/NoneID/p/10778286.html