使用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關閉java

# 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 進行訪問linux

 

 

2. 解析dockerfile文件

2.1 Dockerhub github地址

dockerhub地址: https://hub.docker.com/r/2859413527/gitblitgit

github地址: https://github.com/LoongLiWang/dockerfile_by_gitblitgithub

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

 

本身是在造輪子麼,哈哈哈docker

相關文章
相關標籤/搜索