[Docker]学习笔记--搭建gitlab
Gitlab 是一个用于仓库管理系统的开源项目。使用Git作为代码管理工具,并在此基础上搭建起来的web服务。
详细介绍可以参照官网,https://about.gitlab.com/
今天主要是通过在docker上搭建一个Gitlab的环境,来讲解用到的docker命令。
效果图:

基础知识补充:了解docker中image和container的概念,image可以理解为VM template,container可以理解为从VM template生成的VM.
container是通过docker run命令从image生成出来的。
关于如何安装docker,请参考https://docs.docker.com/installation/
注:下面的所有命令都可以在这里找到详细的说明,如果不是root用户,需要在docker前加sudo。
1. docker search gitlab
在docker hub/public registry上搜索带有gitlab关键词的images。stars值越高说明这个image越好。
注:我们也可以直接在index.docker.io上输入gitlab进行搜索,然后点击sameersbn/gitlab,进入网页后参考readme进行操作。
2. docker pull sameersbn/gitlab:latest
从docker hub上下载image到本地, sameersbn/gitlab是image的名字,latest是tag,如果不写tag,默认是latest。
注:我们也可以不直接pull这个image,通过从github上下载最新的dockerfile文件,然后通过下面的命令进行build。
docker build -t “lemonbar/gitlab” . //注意此处的"."不是句号,是代表dockerfile所在的路径,.代表当前路径。-t是build出来的image的名字。
docker push lemonbar/gitlab //可以通过push命令,来把自己的image上传到public registry。
3. docker images
查看本地已经存在哪些docker image,刚安装完docker后,默认是空的。
4. mkdir -p /opt/gitlab/data && mkdir -p /opt/gitlab/mysql
继续操作前我们创建两个folder,用来存放一会在gitlab container运行中的一些文件。
好处:防止container停止或者删除后,我们存储的一些文件不会和container一起被删除。
5. docker run --name=gitlab -P -d -v /opt/gitlab/data:/home/git/data -v /opt/gitlab/mysql:/var/lib/mysql sameersbn/gitlab
从sameersbn/gitlab这个image生成名字为gitlab的container.
--name是新生成的container的名字
-d在后台运行这个container,也可以用-i,意思是交互式的运行container,用户可以看到输出,也可以输入
-v把container里面的volumn映射到主机的存储,/opt/gitlab/data是主机的路径,/home/git/data是container里面的路径
-P(大写)这个参数比较重要,是把所有container里面的端口都映射到主机上的随机端口,这样和主机在同一网络内的机器就可以访问container了。
如果不想映射container里面所有端口,可以通过-p(小写)来进行单独的映射。
这个命令是所有的命令中最重要的一个!(没有之一)
6. docker ps -a
查看主机上有哪些containers,以及每个container的主要信息
7. docker inspect gitlab
可以用来查看container的详细信息,gitlab是container的名字,也可以输入container的id(id不需要输全,只要前几位可以唯一标示这个container就可以了)
8. docker stop gitlab
用来停止命名为gitlab的container
9. docker rm gitlab
用来删除命名为gitlab的container
10. docker rmi sameersbn/gitlab
用来删除命名为sameersbn/gitlab的image
初步使用docker,先掌握上面几个命令就可以了。有任何问题,可以参考https://docs.docker.com/reference/commandline/cli/
如果不想在自己机器上安装docker,只是想简单了解下docker的命令,可以访问下面的网站进行练习。
今天先写这些吧,下一篇会介绍如何搭建和使用自己的docker registry。
[Docker]学习笔记--搭建gitlab的更多相关文章
- Docker学习笔记之一,搭建一个JAVA Tomcat运行环境
Docker学习笔记之一,搭建一个JAVA Tomcat运行环境 前言 Docker旨在提供一种应用程序的自动化部署解决方案,在 Linux 系统上迅速创建一个容器(轻量级虚拟机)并部署和运行应用程序 ...
- Docker学习笔记总结
Docker学习笔记 https://yeasy.gitbooks.io/docker_practice/content/ 一 环境搭建 Ubuntu安装 .添加软件源的GPG密钥 curl -f ...
- Docker学习笔记 — Docker私有仓库搭建
Docker学习笔记 — Docker私有仓库搭建 目录(?)[-] 环境准备 搭建私有仓库 测试 管理仓库中的镜像 查询 删除 Registry V2 和Mavan的管理一样,Dockers ...
- Docker 学习笔记一
Docker 学习笔记一 1.Docker是什么? Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从 Apache2.0 协议开源.让开发者打包他们的应用以及依赖包到一 ...
- Docker学习笔记 — 配置国内免费registry mirror
Docker学习笔记 — 配置国内免费registry mirror Docker学习笔记 — 配置国内免费registry mirror
- docker学习笔记1 -- 安装和配置
技术资料 docker中文官网:http://www.docker.org.cn/ 中文入门课程:http://www.docker.org.cn/book/docker.html docker学习笔 ...
- docker~学习笔记索引
回到占占推荐博客索引 使用docker也有段时间了,写了不少文章与总结,下面把它整理个目录出来,方便大家去学习与检索! docker~学习笔记索引 docker~linux下的部署和基本命令(2017 ...
- Docker学习笔记 - Docker容器内部署redis
Docker学习笔记(2-4)Docker应用实验-redist server 和client的安装使用 一.获取redis容器(含客户端和服务端) 二.创建服务端容器 1.在终端A中运行redis- ...
- docker学习笔记(一)—— ubuntu16.04下安装docker
docker学习笔记(一)—— ubuntu16.04下安装docker 原创 2018年03月01日 14:53:00 标签: docker / ubuntu 1682 本文开发环境为Ubuntu ...
- docker学习笔记二:常用命令
docker学习笔记二:常用命令 查看docker常用命令 docker --help 返回结果如下: 其中常用的命令如下: 1.image相关操作 展示所有的image: 删除image: rmi ...
随机推荐
- IntelliJ IDEA单元测试和代码覆盖率图解
转载:http://blog.csdn.net/u011872919/article/details/11566713 本文将展示如何使用IntelliJ IDEA开发单元测试和分析覆盖率. 1 创建 ...
- SEO优化100条
1.准备个好域名.①.尽量在5位数内,当然也不一定,反正要让用户好记.(看个人):②.尽量用顶级的域名,搜索排名感觉好一点.③.做中文站最好用拼音注册,不要问为什么.看百度(baidu.com)就是很 ...
- Unity 提取游戏资源之ktx转换
http://blog.csdn.net/akof1314/article/details/38022263 从雨松的博文<Unity3D研究院之mac上从.ipa中提取unity3D游戏资源( ...
- centos下hadoop的安装
hadoop的安装不难,可是须要做不少的准备工作. 一.JDK 须要先安装jdk.centos下能够直接通过yum install java-1.6.0-openjdk来安装.不同公布版的安装 ...
- POJ 3221 Diamond Puzzle(BFS)
Description A diamond puzzle is played on a tessellated hexagon like the one shown in Figure 1 below ...
- oracle新建一个表空间和用户来測试
首先对表空间作例如以下说明 暂时表空间:是在做大数据量排序时.分组操作时用的.正常这些都是在内存中完毕的.但在大数据量排序处理时.内存不够用的情况下就会用到暂时表空间,这里是不存放表的,有点类似于操作 ...
- 【Java】Java_04 HelloWorld提升
HelloWorld的总结与提升 1.Java对大小写敏感,如果出现了大小写拼写错误,程序无法运行 2.关键字public被称作访问修饰符(access modifier),用于控制程序的其它部分对这 ...
- winform MDI子窗口闪动问题
在网上看到的 不知道什么原理但真的很实用 将下面的代码随便放到主窗体的任何一个地方 protected override CreateParams CreateParams { get ...
- windows lua 多线程 线程同步
今天在改一个程序,改成部分逻辑用lua写,这个程序是多线程的.将程序中部分逻辑改成lua之后,各种非法访问内存错误,各种奇奇怪怪的问题,不分时间,不分地点的出现崩溃.从调用堆栈来看,基本都是使用lua ...
- C#--I/O流操作文本文件之StreamWrite类和StreamReader类
使用I/O流操作文本文件时主要用到StreamWrite类和StreamRead类. 1.StreamWrite类 (1)StreamWrite类专门用来处理文本文件的类.能够方便地想文本文件里写入字 ...