基于docker部署gitlab小记 | Ubuntu+Docker+GitLab

之前在docker上部署gitlab,看了很多教程都部署失败了,折腾了老久才搞定,记录一下。

基于docker的部署不用太小心翼翼,部署步骤不复杂,大不了容器删了重来。

基于docker部署gitlab比较方便,但服务器至少需要4GB内存,否则可能出现502错误。

1. 拉取镜像

# 查询
docker search gitlab
# 拉取 默认latest
docker pull gitlab/gitlab-ce

2. 安装镜像

docker run \
 -itd  \
 -p 8848:80 \	# 容器80端口对应http克隆
 -p 8822:22 \ 	# 容器22端口对应ssh克隆 可以不配
 # 将容器/etc/gitlab目录挂载到宿主机/usr/local/gitlab-iot/etc目录下 下同
 -v /usr/local/gitlab-iot/etc:/etc/gitlab  \
 -v /usr/local/gitlab-iot/log:/var/log/gitlab \
 -v /usr/local/gitlab-iot/opt:/var/opt/gitlab \
 --restart always \		# 容器自启动
 --privileged=true \	# 让容器获取宿主机root权限
 --name gitlab-iot \	# 设置容器名称为gitlab-iot(可根据自己的需求更改,后面相应地方也需要更改)
 gitlab/gitlab-ce		# 镜像名称 可写镜像ID

去掉注释

docker run \
 -itd  \
 -p 8848:80 \
 -p 8822:22 \
 -v /usr/local/gitlab-iot/etc:/etc/gitlab  \
 -v /usr/local/gitlab-iot/log:/var/log/gitlab \
 -v /usr/local/gitlab-iot/opt:/var/opt/gitlab \
 --restart always \
 --privileged=true \
 --name gitlab-iot \
 gitlab/gitlab-ce

镜像运行后即可访问:

  • 本机:http://localhost:8848/
  • 局域网:http://gitlab-serv-IP:8848/

3. 配置端口

配置gitlab克隆时的端口(端口配置根据自己的需求选择)

# 进入容器
docker exec -it gitlab-iot /bin/bash

# 编辑配置文件
vim /etc/gitlab/gitlab.rb
# 添加内容
# gitlab 访问地址/域名
external_url 'http://192.168.1.109:8848'
# ssh IP
gitlab_rails['gitlab_ssh_host'] = '192.168.1.109'
# ssh clone 端口
gitlab_rails['gitlab_shell_ssh_port'] = 8822
# nginx 监听端口IP
nginx['listen_addresses'] = ['*']
# nginx 监听端口
nginx['listen_port'] = 80

去掉注释

#去掉注释
external_url "http://192.168.1.109:8848"
gitlab_rails['gitlab_ssh_host'] = '192.168.1.109'
gitlab_rails['gitlab_shell_ssh_port'] = 8822
nginx['listen_addresses'] = ['*']
nginx['listen_port'] = 80
# 重新配置
gitlab-ctl reconfigure

# 重启gitlab
gitlab-ctl restart

# 退出容器
exit

补充

# 退出前,可以在容器中打开配置文件可以查看是否生效
vim /opt/gitlab/embedded/service/gitlab-rails/config/gitlab.yml

重启container

docker restart <gitlab-container-id>

镜像运行后即可访问:

  • 本机:http://localhost:8848/
  • 局域网:http://gitlab-serv-IP:8848/

猜你喜欢

转载自blog.csdn.net/qq_40759015/article/details/109624408