• linux——03-DevOps实战(详版)


    linux/其他/03-DevOps实战

    一 Docker搭建gitlab

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    # 拉取镜像
    docker pull gitlab/gitlab-ce
    # 启动容器
    docker run -d --hostname www.liuqingzheng.top -p 443:443 -p 8080:80 -p 222:22 --name gitlab --restart always -v /var/docker-date/gitlab-server/config:/etc/gitlab -v /var/docker-date/gitlab-server/logs:/var/log/gitlab -v /var/docker-date/gitlab-server/data:/var/opt/gitlab gitlab/gitlab-ce:latest
    # 查看
    docker ps
    # 浏览器里访问
    http://101.133.225.166:8080

    # 设置密码,记住
    # 默认超级管理员是root

    补充:中文版

    1
    2
    3
    4
    5
    https://hub.docker.com/r/twang2218/gitlab-ce-zh/tags
    # 拉取镜像
    docker pull twang2218/gitlab-ce-zh:latest
    # 启动容器
    docker run -d --hostname www.liuqingzheng.top -p 443:443 -p 8080:80 -p 222:22 --name gitlab -v /var/docker-date/gitlab-server/config:/etc/gitlab -v /var/docker-date/gitlab-server/logs:/var/log/gitlab -v /var/docker-date/gitlab-server/data:/var/opt/gitlab twang2218/gitlab-ce-zh:latest

    配置ssh链接

    1
    2
    sh-keygen -m pem
    在用户目录下.ssh下会有两个文件,将id_rsa.pub文件中内容配置到gitlab中,就可以免密ssh下载

    配置ssh链接会出问题

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    gitlab配置ssh key后,还是需要输入密码,git clone http可以
    #问题:
    宿主机docker安装gitlab,然后配置ssh key后就是要输入密码或者Permission denied (publickey).。
    1.gitlab配置ssh key后,还是需要输入密码。
    2.重置ssh key后还是不行。

    #解决:
    1.检查ssh key是否过期。
    2.检查docker sshd是否开启。
    3.检查防火墙是否有限制。
    4.最重要的一点:

    查看gitlab/config/gitlab.rb配置,是否开启ssh端口(映射的目录)。
    gitlab_rails['gitlab_shell_ssh_port'] = 222
    gitlab_rails['gitlab_shell_git_timeout'] = 800
    重启docker。
    重试,git clone ssh://git@你的域名:222/用户名or组名/test.git
    git clone ssh://git@www.lqz.com:222/lqz/myblog.git
    git clone ssh://git@127.0.0.1:222/lqz/myblog.git
    git clone ssh://git@101.133.225.166:222/lqz/myblog.git

    二 Docker搭建Jenkins

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    # 拉取镜像
    docker pull jenkins/jenkins:latest
    # 启动容器
    docker run -d --name jenkins -p 8081:8080 --privileged=true -v /root/jenkins_home/:/var/jenkins_home/ jenkins/jenkins:latest
    '''
    touch: cannot touch '/var/jenkins_home/copy_reference_file.log': Permission denied
    Can not write to /var/jenkins_home/copy_reference_file.log. Wrong volume permissions?
    报错原因:
    解决:
    chown -R 1000 /root/jenkins_home //用户组改变
    '''
    # 重启容器
    # 浏览器访问
    # 填入密码
    docker exec ae307e3038df cat /var/jenkins_home/secrets/initialAdminPassword
  • 相关阅读:
    容器网络(八)准备 macvlan 环境【49】
    容器网络(八)overlay 是如何隔离的?【48】
    容器网络(八)overlay 如何实现跨主机通信?【47】
    容器网络(八)在 overlay 中运行容器【46】
    容器网络(八)创建 overlay 网络【45】
    容器网络(八)跨主机网络概述【43】
    容器(七)管理 Machine【42】
    容器(七)创建 Machine【41】
    容器(七)安装 Docker Machine【40】
    容器(六)volume 生命周期管理【39】
  • 原文地址:https://www.cnblogs.com/guojieying/p/14024920.html
Copyright © 2020-2023  润新知