1. 快速使用gitblit镜像

1.1 push 镜像

# docker pull /gitblit

1.2 查看下载的镜像

# docker images | grep "gitblit"

docker.io//gitblit   latest              dfd272c9eb15         hours ago          MB

#

1.3 启动gitblit容器

# docker run -d -P docker.io//gitblit

# docker ps

CONTAINER ID        IMAGE                          COMMAND                  CREATED             STATUS              PORTS                                               NAMES

b1bcdf33b897        docker.io//gitblit    seconds ago       Up  seconds        ->/tcp, ->/tcp   naughty_engelbart

#

1.4 启动容器指定端口/挂在git数据文件

如果需要将目录挂载出来,则需要调整selinux,这里为了测试先将selinux关闭

# setenforce 

# docker run -d --restart=always --name gitblit-server -p : -p : -v /git:/git docker.io//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"]

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

使用dockerfile,创建gitblit镜像的更多相关文章

  1. 基于Dockerfile创建docker镜像

    0.先创建一个文件夹img mkdir img 1.Linux上新建3个文件 2.文件内容分别写入 (1)Dockerfile中 # 基于的基础镜像centos FROM centos # 维护该镜像 ...

  2. Docker 学习笔记 (一)Dockerfile 创建本地镜像

    一.测试环境 OS version: CentOS Linux release 7.5.1804 (Core) docker cluster : master 1 + data node 4 dock ...

  3. Docker dockerfile创建Eclipse镜像初试

    抽空初步阅读了Docker技术入门与实战 [Kindle电子书] http://www.cnblogs.com/2018/p/4600116.html 现在想首先在开发环境下引入统一的环境,由于开发中 ...

  4. Dockerfile创建自有镜像

    文件名必须名为Dockerfile,用touch命令新建Dockerfile文件(执行touch Dockerfile),Dockerfile内容: from ubuntu --基础镜像名字 main ...

  5. docker Dockerfile 创建镜像

    Docker 组件 1. docker client : docker的客户端 2. docker server : docker daemon的主要组成部分,接受用户通过docker client发 ...

  6. docker常用命令、镜像命令、容器命令、数据卷,使用dockerFile创建镜像,dockefile的语法规则。

    一.docker常用命令? 1. 常用帮助命令 1.1 docker的信息以及版本号 /* docker info 查看docker的信息 images2 docker本身就是一个镜像. docker ...

  7. docker创建nginx镜像

    注意:此处不是用的dockerfile创建的镜像,只是用来搞一搞 首先你的系统里面要安装docker,这里就不重复介绍了,可以看之前的文章: 然后再搞一个基础镜像 docker pull regist ...

  8. 利用脚本快速执行Dockerfile以及docker镜像的启停与删除

    `关于脚本:` 'sh setup.sh build' # 将Dockerfile创建成镜像 'sh setup.sh run' # 启动build创建好的镜像,放到后台运行 'sh setup.sh ...

  9. 如何用Dockerfile创建镜像

    本文原创,原文地址为:http://www.cnblogs.com/fengzheng/p/5181222.html 创建镜像的目的 首先说DockerHub或其它一些镜像仓库已经提供了够多的镜像,有 ...

随机推荐

  1. nginx入门之编译安装

    nginx是什么 nginx是一个开源的,支持高性能,高并发的www服务和代理服务软件.它是一个俄罗斯人lgor sysoev开发的,作者将源代码开源出来供全球使用. nginx比它大哥apache性 ...

  2. 项目(九) 企业级Memcached服务应用实践

    一, Memcached介绍   1.1 Memcached与常见同类软件对比 (1)Memcached是什么? Memcached是一个开源的,支持高性能,高并发的分布式内存缓存系统,由C语言编写, ...

  3. selenium java 浏览器操作

    环境搭建 selenium 2.53 selenium-java-2.53.0.jar selenium-java-2.53.0-srcs.jar 原代码包 拷贝的工程lib下,做build path ...

  4. Unity下一轮最大的变革-Entity Component System & C# Jobs System

    ECS+jobs实现的酷炫效果 新一代Entity Component System(ECS)将会彻底改变Unity的底层概念(GameObject-Component 系统)和现有工作方式.Mono ...

  5. JVM学习02:GC垃圾回收和内存分配

    JVM学习02:GC垃圾回收和内存分配 写在前面:本系列分享主要参考资料是  周志明老师的<深入理解Java虚拟机>第二版. GC垃圾回收和内存分配知识要点Xmind梳理 案例分析1-(G ...

  6. vue-computed计算属性用法

    siytem函数可以当做变量在html中展现,列:{{siytem}}  v-for(item in siytem)遍历也可以. 这个函数是从获取到的数据中,得到值后再次提取里面的数据,通过下标 me ...

  7. vcpkg custom triplet

    需求是要弄一个用 pip 发布的python 包,使用 boost-python 桥接 原C++代码,发布时不想带 boost-python 的运行时库,因此需要弄静态的 boost-python库, ...

  8. Retrofit 2.0 上传文件

    1.用MultipartBody.Part的方式上传文件(单文件上传)(表单方式) @Multipart @POST("xxx/xxx") Call<ResponseBody ...

  9. Win7远程桌面:发生身份验证错误

    下载并安装KB4103718补丁,安装完成后重启计算机 http://www.catalog.update.microsoft.com/Search.aspx?q=KB4103718 根据操作系统选择 ...

  10. Mysql数据库性能优化(一)

    参考 http://www.jb51.net/article/82254.htm 今天,数据库的操作越来越成为整个应用的性能瓶颈了,这点对于Web应用尤其明显.关于数据库的性能,这并不只是DBA才需要 ...