一、docker安装gerrit服务器
1、拉取gerrit镜像
docker pull openfrontier/gerrit
2、启动gerrit容器
docker run \
--name mygerrit \
-v /home/my-gerrit:/var/gerrit/review_site \
-p 8099:8099 -p 29418:29418 \
-e AUTH_TYPE=HTTP \
-d openfrontier/gerrit
3、改动gerrit配置,vim /home/my-gerrit/etc/gerrit.config
[gerrit]
basePath = git
serverId = 0871a228-bd59-4f69-a8b9-504f65b6ddb6
canonicalWebUrl = http://yourIP:8099/
[httpd]
listenUrl = http://*:8099/
4、重启gerrit容器,让配置生效,访问gerrit服务器http://yourIP:8099/,gerrit安装完成
docker restart 容器id
二、docker安装nginx服务器
1、拉取nginx镜像,并启动nginx容器
docker run -p 80:80--name mynginx -d nginx
2,创建文件夹,用来存放nginx容器到宿主机的映射
mkdir -p /home/my-nginx/www /home/my-nginx/logs /home/my-nginx/conf /home/htpasswd
3、把nginx容器里的配置文件nginx.conf拷贝到宿主机
docker cp 容器id:/etc/nginx/nginx.conf /home/my-nginx/conf/nginx.conf
4、停止启动的nginx容器并删除掉容器
docker stop 容器id
docker rm 容器id
5、重新以容器和宿主机文件映射的方式启动容器
docker run -d -p 80:80 --name nginx-web \
-v /home/my-nginx/www:/usr/share/nginx/html \
-v /home/my-nginx/conf/nginx.conf:/etc/nginx/nginx.conf \
-v /home/my-nginx/logs:/var/log/nginx \
-v /home/htpasswd/gerrit.passwd:/etc/nginx/conf.d/gerrit.passwd \
nginx
6、在/home/my-nginx/www目录下创建index.html,并添加代码如下,效果如下
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>docker搭建nginx</title>
</head>
<body>
<h1>nginx服务器登陆页面创建成功</h1>
<p>测试验证成功</p>
</body>
</html>
7、设置反向代理,vim /home/my-nginx/conf/nginx.conf,在include /etc/nginx/conf.d/*.conf;下面添加代码如下
server{
listen 80;
charset utf-8;
server_name 123.207.207.47;
location / {
proxy_pass http://123.207.207.47:8099;
proxy_redirect default;
}
8、重启nginx容器,反向代理完成,效果如下
docker restart 容器id
9、给nginx和gerrit添加http认证
yum -y install httpd
10、在/home/htpasswd目录下使用htpasswd命令生成账号密码,admin是账号,密码输入两次
htpasswd -c gerrit.passwd chenke
11、在代理proxy_pass http://123.207.207.47:8099;上面添加如下代码
auth_basic "Restricted";
auth_basic_user_file /etc/nginx/conf.d/gerrit.passwd;
12、重启nginx容器,认证添加成功,效果如下,完成gerrit的认证,效果如下,可以愉快的玩耍gerrit了!
docker restart 容器id