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. 让history显示时间

    如何让history显示时间 linux和unix上都提供了history命令,可以查询以前执行的命令历史记录 但是,这个记录并不包含时间项目 因此只能看到命令,但是不知道什么时间执行的 如何让his ...

  2. OOP的五大原则

    一:单一职责原则. 含义一方面是避免相同的职责分散到不同的类中:另一方面避免一个类承担太多职责. 二:接口隔离原则. 一个类对另一个类的依赖性应当建立在最小的接口上的. 就是定制化服务设计的原则. 三 ...

  3. git命令行获取某分支代码

    参考https://www.cnblogs.com/nylcy/p/6569284.html git clone -b branch1 http://xxx.xx.xxx... git clone - ...

  4. innodb 体系结构(后台进程)

    一.后台进程(innodb 1.0.x以前的) 1.master thread master thread具有最高的线程优先级别,其内部由多个循环(loop)组成:主循环(loop).后台循环(bac ...

  5. 统一集中管理系统cronsun简介,替代crontab

    一.背景 crontab 是 Linux 系统里面最简单易用的定时任务管理工具,相信绝大多数开发和运维都用到过.在咱们公司,很多业务系统的定时任务都是通过 crontab 来定义的,时间长了后会发现存 ...

  6. pwnable.kr-bof-witeup

    根据原程序可知,输入overflowme变量覆盖key变量即可,所以接下来应该看俩变量的距离,从而构造覆盖的payload. 嗯,他们相差了52个地址,overflowme变量在低地址,存放函数的栈中 ...

  7. Style- DataTrigger例子(Text长度)

    Text长度小于7时,边框变为红色 <Window.Resources> <local:L2BConverter x:Key="cvtr"/> <St ...

  8. Hibernate基础一

    前面已经学习了Struts2的基础知识,可以自己搭建一个简单的Struts2项目!现在开始Hibernate!从基础开始! 1.web内容回顾 JavaEE三层结构(后面要看下,三层架构是怎么区分的? ...

  9. redis单例模式

    看到好多面试都问设计模式,我就简单的了解了一下,顺便把之前封装好的Reis做了一次修改. 单例模式(Singleton Pattern 单件模式或单元素模式) 单例模式确保某个类只有一个实例,而且自行 ...

  10. BFC是什么及能用它能做什么

    最近较为频繁的碰到了一个新的名词:BFc,每次都可以在相关的技术博客里面看到对其的简单介绍,刚开始以为自己懂了,但实际上没懂,今天就来搞清楚它到底是什么,以及我们能用他做什么? BFC:全名为 Blo ...