本文为本人搭建本地gitlab的复盘记录,阅读前默认你已经安装好了docker,如果未安装docker,请移步相关docker搭建文章
1.docker的通俗理解
对于第一次使用docker的你来说,你可能听说过docker是一种容器,但可能不是很理解所谓的docker容器。
在解释容器之间,先说两个概念:镜像(image)和容器(container),所谓的镜像可以理解为搭建容器的"安装包",当然这个"安装包"也可以包含你所需要部署在容器里面的应用资源。
所谓的docker容器,你可以理解为从你本机中,划分出一块包含内存和存储的资源空间,搭建而来的一个"虚拟机"。这个"虚拟机"可以称为容器。而一个docker环境下,可以创建多个容器。你可以把多个应用放在同一个容器里,也可以每个应用都对应创建一个容器,这并不影响,前提是你的主机资源足够。
前面说了,每个容器都相当于一个虚拟机,所以容器也是自己的端口,只有在配置宿主机(就是你的主机,以下都称为宿主机)与容器端口对应后,你部署在docker容器里面的应用,才能在你宿主机正常访问。
2.镜像
前面说了,镜像相当于容器的安装包,这个安装包你可以从docker hub上拉取别人制作好的镜像文件,开箱即用,比如nginx等中间件。
当然,你也可以自己根据自己的需求,比如应用部署等,制作自己的镜像。
制作自己的镜像文件,需求创建一个类似脚本的额配置文件dockerfile(配置说明移步相关文章),然后在目录下执行以下命令(注意结尾有一个点):
docker build -t my-image .
3.容器
从docker hub上拉下镜像文件或者自己制作好的镜像文件后,可以通过命令查看docker已有的镜像
docker ls
创建并运行容器脚本
docker run --name my-container -p 9999:9999 -d my-image
执行完后,在终端命令行会返回一串id,该id则容器的唯一id
在容器的文件,宿主机需要进入容器的终端后,才能访问,对于配置文件以及生成的数据访问极其不方便,因此使用docker,
会使用volume在宿主机创建与之对应的目录,在宿主机的文件下修改后,会同步到容器内的文件。
4.搭建gitlab(window版的)
从前面上面三点,已经对docker有初步了解了。下面是利用docker搭建gitlab的简易步骤
1)拉取gitlab镜像文件,默认为最新版本
docker pull gitlab/gitlab-ce
2)创建三个存放映射容器内gitlab配置文件,数据文件以及日志的目录
D:\developTool\gitlab\config
D:\developTool\gitlab\logs
D:\developTool\gitlab\data
3)执行脚本运行
docker run -d ^
--hostname localhost ^
-p 9991:80 ^
-p 443:443 ^
--name gitlab ^
--restart unless-stopped ^
-v D:\developTool\gitlab\config:/etc/gitlab ^
-v D:\developTool\gitlab\logs:/var/log/gitlab ^
-v D:\developTool\gitlab\data:/var/data/gitlab ^
gitlab/gitlab-ce:latest
-p为端口映射,9991为宿主机端口映射到容器的80端口,第二个-p是https的端口映射。
-v是volume,数据卷也就是第三小节讲的目录映射。
4)访问
打开浏览器输入,IP:端口即可访问,端口为脚本中左边的端口,右边的端口为容器的端口。