• Docker 方式部署 Gitlab 并使用自定义的http端口


    一、docker 方式安装 Gitlab

    安装镜像

    docker run --detach \
    --name gitlab \
    -p 8081:80 \
    -p 10022:22 \
    --restart always \
    -v /backup/gitlab/config:/etc/gitlab \
    -v /backup/gitlab/logs:/var/log/gitlab \
    -v /backup/gitlab/data:/var/opt/gitlab \
    gitlab/gitlab-ce:latest

    参数解释

    --name : 容器的名字

    --p xxx:yyy : 端口映射,xxx为宿主机的端口,yyy为容器的端口,即将容器的yyy端口映射到宿主机的xxx端口,访问宿主机的xxx端口相当于访问容器的yyy端口

    --restart always : 使用always表示docker重启时容器也会自动重启

    -v 宿主机的路径:容器内的路径 : 将容器的文件映射到宿主机上,方便做迁移

    二、自定义使用的端口

    查看容器的ID

    wmg@debian:~$ sudo docker ps
    CONTAINER ID        IMAGE                     COMMAND             CREATED             STATUS                   PORTS                                                            NAMES
    1132de0d1960        gitlab/gitlab-ce:latest   "/assets/wrapper"   19 hours ago        Up 2 minutes (healthy)   80/tcp, 443/tcp, 0.0.0.0:8081->8081/tcp, 0.0.0.0:10022->22/tcp   gitlab

    记住CONTAINER ID

    在做操作之前,为了防止意外,先将容器和docker停了

    docker stop gitlab         // 停止容器,gitlab是容器的名字
    systemctl stop docker      // 停止docker

    我们需要将http的端口改为访问8081,同时在克隆的时候的地址是对的,gitlab的ssh的端口改为宿主机的10022。

    修改宿主机的 /var/lib/docker/containers/容器ID/ 目录下的config.v2.json,hostconfig.json文件

    root@debian:~# cd /var/lib/docker/containers/1132de0d1960e1049a3f1f014b2ba215442a6c7f23f4983b324e055306822c52/
    root@debian:/var/lib/docker/containers/1132de0d1960e1049a3f1f014b2ba215442a6c7f23f4983b324e055306822c52# ls
    1132de0d1960e1049a3f1f014b2ba215442a6c7f23f4983b324e055306822c52-json.log  checkpoints  config.v2.json  hostconfig.json  hostname  hosts  mounts  resolv.conf  resolv.conf.hash

    config.v2.json

     hostconfig.json

     Tips:使用vim编辑是如果没有格式化的话,可读性会非常差,命令模式下使用 :%!python -m json.tool 格式化json文档会非常舒服

    修改容器内的gitlab配置文件/etc/gitlab/gitlab.rb

    因为我将/etc/gitlab映射到了/backup/gitlab/config下了,所以我直接进这个目录修改gitlab.rb文件,以下几行参数

    external 'http://192.168.88.213:8081'
    nginx['listen_port'] = 8081
    gitlab_rails['gitlab_shell_ssh_port'] = 10022

    改好之后将docker和容器启动就好了

    效果如下

  • 相关阅读:
    Druid源码解析(六):PreparedStatementPool源码及使用场景分析 lcl
    PyScript:让Python在HTML中运行
    Java 16 新特性:record类
    Java 17 新特性:switch的模式匹配(Preview)
    基于阿里云 ASK 的 Istio 微服务应用部署初探
    Vue快速入门
    架构设计分析
    springbatch相关sql创建语句 mysql
    mysql多表关联时可能出错的地方,如搜索出的记录数据变少了。
    https://blog.csdn.net/hualusiyu/article/details/86498452?spm=1001.2014.3001.5502
  • 原文地址:https://www.cnblogs.com/FFFirer/p/docker_gitlab.html
Copyright © 2020-2023  润新知