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
原文地址:https://www.cnblogs.com/guojieying/p/14024920.html