美文网首页
docker部署gitlab

docker部署gitlab

作者: Liekkasz | 来源:发表于2019-07-10 11:28 被阅读0次

gitlab镜像拉取

# gitlab-ce为稳定版本,后面不填写版本则默认pull最新latest版本
$ docker pull gitlab/gitlab-ce

创建dockerfile

$ mkdir /app/dockerfile/git
$ vim /app/dockerfile/git/docker-compose.yaml
$ chmod 755 /app/dockerfile/git/docker-compose.yaml

写入以下内容

version: '3'
services:
  git:
    image: gitlab/gitlab-ce
    container_name: gitlab
    restart: always
    ports:
      - "8443:443"
      - "8880:80"
      - "8822:22"
    volumes:
      - ./config:/etc/gitlab
      - ./logs:/var/log/gitlab
      - ./data:/var/opt/gitlab
networks:
  default:
    external:
      name: appnet

启动容器

$ docker network create appnet

# 加-d表示后台执行,否则为前台执行
$ docker-compose up -d

# 查看容器运行情况
$ docker ps

配置

配置完成后gitlab容器可以正常运行,但在gitlab上创建项目的时候,生成项目的URL访问地址是按容器的hostname来生成的,也就是容器的id。作为gitlab服务器,我们需要一个固定的URL访问地址,于是需要配置gitlab.rb(/app/dockerfile/git/config/gitlab.rb)

$ vim /app/dockerfile/git/config/gitlab.rb

修改或插入一下内容,配置默认为注释状态

# 配置http协议所使用的访问地址,不加端口号默认为80
external_url 'http://git.xxx.com'

# 配置ssh协议所使用的访问地址和端口
gitlab_rails['gitlab_ssh_host'] = 'git.xxx.com'
gitlab_rails['gitlab_shell_ssh_port'] = 8822

配置Nginx

若上一步中,配置了访问域名(git.xxx.com),则按上面的配置,通常还需要对Nginx进行配置,在Nginx配置中增加以下服务器配置

server {
    listen       80;
    server_name git.xxx.com;
    client_max_body_size 500M;
    location / {
       proxy_pass http://localhost:8880;
       proxy_set_header Host $host;
       proxy_set_header X-Real-IP $remote_addr;
       #proxy_set_header X-Forwarded-For $remote_addr;
       proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
     }
}

配置完成后,通过http://git.xxx.com地址,即可正常访问服务

相关文章

网友评论

      本文标题:docker部署gitlab

      本文链接:https://www.haomeiwen.com/subject/vuvckctx.html