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进行操作。

  1. 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。

  1. docker images

      查看本地已经存在哪些docker image,刚安装完docker后,默认是空的。

  2. mkdir -p /opt/gitlab/data && mkdir -p /opt/gitlab/mysql

      继续操作前我们创建两个folder,用来存放一会在gitlab container运行中的一些文件。

      好处:防止container停止或者删除后,我们存储的一些文件不会和container一起被删除。

  3. 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(小写)来进行单独的映射。

      这个命令是所有的命令中最重要的一个!(没有之一)

  4. docker ps -a

      查看主机上有哪些containers,以及每个container的主要信息

  5. docker inspect gitlab

      可以用来查看container的详细信息,gitlab是container的名字,也可以输入container的id(id不需要输全,只要前几位可以唯一标示这个container就可以了)

  6. docker stop gitlab

      用来停止命名为gitlab的container

  7. docker rm gitlab

      用来删除命名为gitlab的container

  8. docker rmi sameersbn/gitlab

      用来删除命名为sameersbn/gitlab的image

初步使用docker,先掌握上面几个命令就可以了。有任何问题,可以参考https://docs.docker.com/reference/commandline/cli/

如果不想在自己机器上安装docker,只是想简单了解下docker的命令,可以访问下面的网站进行练习。

https://www.docker.com/tryit/

今天先写这些吧,下一篇会介绍如何搭建和使用自己的docker registry。

docker(在docker hub/public registry上搜索images。stars值越高说明这个image越好)相关推荐

  1. 【产品经理】你的卖点越具体,消费者就越容易“上你的钩”

    大家有没有觉得:越具体的话别人越容易相信?在营销推广中也是如此,你的文案对你的产品描述的越具体,越诱人,消费者就越容易上你的钩. 曾几何时,你有没有听到过这样一句话:说的跟真的一样! 我听到这句话,第 ...

  2. Docker 使用 docker push 命令将镜像推送到 Docker Hub 服务器上

    Docker 使用 docker push 命令将镜像推送到 Docker Hub 服务器上 DockerHub注册用户 请到官网注册账号,官网地址:https://hub.docker.com/ 在 ...

  3. 上传docker镜像到hub.docker

    首先必须得在hub.docker.com上注册账号 如何将镜像上传到hub.docker.com  docker pull caixia/ubuntu14.04 docker p_w_picpaths ...

  4. docker ubuntu 安装包_史上最全Docker环境安装指南

    一.思考❓❔ 1.什么是Docker? 装应用的容器 开发.测试.运维都偏爱的容器化技术 轻量级 扩展性 一次构建.多次分享.随处运行 2.安装Docker难不难? So easy! 此文看过之后,读 ...

  5. 老司机实战Windows Server Docker:3 单节点Windows Docker服务器简单运维(上)

    经过上两篇实战Windows Server Docker系列文章,大家对安装Windows Docker服务以及如何打包现有IIS应用为docker镜像已经有了基本认识.接下来我们来简单讲讲一些最基本 ...

  6. CentOS上安装Docker及docker常用命令

    这里写目录标题 一.在CentOS上安装Docker Engine 1.Docker Engine安装 1.1 卸载以前的docker 1.2 安装方法 1.2.1 用repository方法安装 0 ...

  7. 【docker一】docker是什么、为什么使用Docker、docker镜像搜索、获取、删除、查看、导出导入、查看历史详细信息

    Docker基础 1. docker是什么 docker的中文解释是码头工人. 官方解释: Docker是一个开源的容器引擎,它基于LCX容器技术,使用Go语言开发. 源代码托管在Github上,并遵 ...

  8. Docker原理(图解+秒懂+史上最全)

    文章很长,建议收藏起来,慢慢读! Java 高并发 发烧友社群:疯狂创客圈 奉上以下珍贵的学习资源: 免费赠送 经典图书:<Java高并发核心编程(卷1)> 面试必备 + 大厂必备 +涨薪 ...

  9. 05-04 docker 搭建 Selenium Hub

    相关参考链接: https://ceshiren.com/t/topic/10489 https://github.com/SeleniumHQ/docker-selenium 启动 Grid hub ...

  10. 我的docker随笔38:用 registry 搭建私有仓库

    本文涉及一种在服务器部使用 registry 署私有镜像仓库的方法.经验证,可达到预期目标,并能应用在实际工作中. 一.引言 由于测试服务器无法使用外部网络,而又需要容器化部署应用程序.经考虑,使用 ...

最新文章

  1. java什么时候用有参_Java有陷阱——慎用入参做返回值
  2. eeglab教程系列(6)-提取数据epoch
  3. python的运行窗口-在 Python 窗口中执行工具
  4. 【机器学习】人工智能典型应用:班组工作日志转绩效类型
  5. java none怎么用tomcat_使用tomcat做java中间件
  6. sql server 2008 r2卸载重装_免费下载:Intouch软件、Windows操作系统、SQL数据库,VB6.0、C#...
  7. dictionary在python中什么意思_Python 字典(Dictionary)操作详解
  8. mysql自动备份 linux_Linux下MySQL数据库自动定时备份
  9. 【论文写作】精品课程教学网站中用户管理如何写
  10. Silverlight之OOB模式下的一些事
  11. jQuery 仿抖音时钟罗盘转动效果
  12. 如何判断肖特基二极管的正负极
  13. GoogleEarth-- 一日坐看天下八千里
  14. 好用的便签APP排行榜前十名?
  15. CSS3有趣的渐变色
  16. 为老婆准备的200000余条笑话,天天开心…
  17. Python+Django+Mysql实现购物商城推荐系统 基于用户、项目的协同过滤推荐购物商城系统 网络购物推荐系统 代码实现 源代码下载
  18. mysql 删除时间一个星期_2020春招必备:MySQL(20)与Redis(20),不看答案能答对几道?
  19. 全景地图是什么?怎么用有什么作用!
  20. Android 建立自己的手写笔画图案 Gesture Builder

热门文章

  1. PhpStrom 安装后环境配置(502 Bad Gateway 小偏方)
  2. 1920x1080设置的窗口和全屏貌似没作用
  3. python长方形图片_如何使用Python在图像中裁剪矩形形状
  4. mff开发者访谈_我的第一次前端Web开发人员访谈中的关键要点
  5. 【痒痒鼠】8.11 斗技战报总结
  6. codduck人物版
  7. 树莓派无线网卡老是掉线
  8. 编译器设计(十二)——指令选择
  9. 业界|比尔盖茨推荐,三个数据中的世界动向
  10. Unity-SteamVR中激光效果的制作