zoukankan      html  css  js  c++  java
  • 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和容器启动就好了

    效果如下

  • 相关阅读:
    初认识AngularJS
    (imcomplete) UVa 10127 Ones
    UVa 10061 How many zero's and how many digits?
    UVa 11728 Alternate Task
    UVa 11490 Just Another Problem
    UVa 10673 Play with Floor and Ceil
    JSON对象和字符串的收发(JS客户端用typeof()进行判断非常重要)
    HTML.ActionLink 和 Url.Action 的区别
    EASYUI TREE得到当前节点数据的GETDATA方法
    jqueery easyui tree把已选中的节点数据拼成json或者数组(非常重要)
  • 原文地址:https://www.cnblogs.com/WattWang/p/docker_gitlab.html
Copyright © 2011-2022 走看看