一、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

 

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐