搭建docker下的gitlab
查看gitlab的docker镜像有哪些(此步可省略)
docker search gitlab
下载官网的镜像
docker pull docker.io/gitlab/gitlab-ce
启动容器
#启动docker(使用桥接网络启动docker)
docker run -d \
--hostname git.gitlab-ce.net \
--name gitlab-ce \
-p 8443:443 -p 8080:80 -p 2222:22 \
--restart always \
gitlab/gitlab-ce
说明1:这里容器会对外提供3个端口80、443、22,80和443分别对应HTTP和HTTPS,22则是用于SSH连接。为了避免冲突,这里进行了端口映射,将容器的80、443、22映射到宿主机的8080、8443、2222。
说明2:docker的网络模式默认使用bridge,共用宿主机的网络设置,此时访问宿主机IP:8080即可,比如我的宿主机是192.168.3.10,那么访问)http://192.168.3.10:8080
即可(宿主机的IP可通过ip addr
查出来)。
说明3:初次进入时需要修改默认账户root
的密码(最小8位)
修改后就可进入,添加公钥什么的,创建项目什么的,感觉和github差不多。
gitlab提供了3种方式创建项目
自定义创建
根据MVC模板创建,有ROR、Spring、NodeJS Express
从其他地方导入
附
1.进入容器内进行操作
进入容器里面,首先需要查出容器的ID
#列出所有容器
docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
ab59e0a2cda2 gitlab/gitlab-ce “/assets/wrapper” 3 minutes ago Up 3 minutes (healthy) 22/tcp, 80/tcp, 443/tcp gitlab-ce
根据容器ID进入容器
#进入docker
docker exec -it ab59e0a2cda2 bash
此时可以修改gitlab
的配置
#修改配置添加访问地址
vim /etc/gitlab/gitlab.rb
# 此时在gitlab.rb中
# 比如配置http协议所使用的访问地址
external_url 'http://192.168.10.25'
# 保存并退出gitlab.rb
#使配置生效
gitlab-ctl reconfigure
2.查看日志
根据容器ID(ab59e0a2cda2
就是容器ID)直接查看
docker logs ab59e0a2cda2
#实时查看
docker logs ab59e0a2cda2 -f
也可以在启动容器的时候,通过--volume
将宿主机的目录和容器内部的目录关联起来,比如将gitlab
的配置、日志和数据目录关联到宿主机上就方便查看了
# 将docker挂载到宿主物理机上
docker run -d \
--hostname git.gitlab-ce.net \
--name gitlab-ce \
-p 8443:443 -p 8080:80 -p 2222:22 \
--volume /home/wang/gitlab/config:/etc/gitlab \
--volume /home/wang/gitlab/logs:/var/log/gitlab \
--volume /home/wang/gitlab/data:/var/opt/gitlab \
--restart always \
gitlab/gitlab-ce