古城热线 发表于 2015-4-17 10:02:23

[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的命令,可以访问下面的网站进行练习。
  https://www.docker.com/tryit/
  
  今天先写这些吧,下一篇会介绍如何搭建和使用自己的docker registry。
页: [1]
查看完整版本: [Docker]学习笔记--搭建gitlab