本文操做环境 Mac,使用 docker 安装 gitlab-ce(社区版)html
下载 docker,地址:https://docs.docker.com/docker-for-mac/install/python
首先注册 docker 帐号nginx
登录后,便可下载 dockergit
建议使用迅雷等工具下载,地址:https://download.docker.com/mac/stable/Docker.dmgdocker
下载安装完毕,登陆帐号shell
使用命令行,拉取镜像浏览器
docker pull gitlab/gitlab-ce
复制代码
会由于超时而报错bash
Using default tag: latest
Error response from daemon: Get https://registry-1.docker.io/v2/: net/http: TLS handshake timeout
复制代码
使用国内镜像服务器
Docker->Preferences->Daemon,添加地址, Apply & Restartmarkdown
等待片刻,docker 从新 running 的时候
再次执行命令
docker pull gitlab/gitlab-ce
复制代码
过程:
Using default tag: latest latest: Pulling from gitlab/gitlab-ce e80174c8b43b: Pull complete d1072db285cc: Pull complete 858453671e67: Pull complete 3d07b1124f98: Pull complete 1abbbf4783f5: Pull complete 38a43d00563b: Pull complete 8bbea5a60f40: Pull complete 176bd574f7c7: Pull complete a8646c9c80ee: Pull complete 089fe821c806: Pull complete Digest: sha256:88f1bcc39aa9917ac4b19022af441b64265d50e1f0c0fa2616d29a2cb82fb41a Status: Downloaded newer image for gitlab/gitlab-ce:latest docker.io/gitlab/gitlab-ce:latest 复制代码
仅仅使用了 7 分钟,就拉取完毕了
sudo docker run -d \ --hostname xxxx.xxxx.xx \ --name gitlab \ --restart always \ --publish 30001:22 --publish 30000:80 --publish 30002:443 \ --volume $HOME/gitlab/data:/var/opt/gitlab \ --volume $HOME/gitlab/logs:/var/log/gitlab \ --volume $HOME/gitlab/config:/etc/gitlab \ gitlab/gitlab-ce 复制代码
其中 volume 选项将 gitlab 的目录挂载为用户当地目录,以避免容器在中止或被删除的时候丢失数据。publish 选项将宿主机器的 30000、30001 和 30002 映射为容器的 80(http)、22(ssh)和 443(https)端口。
执行完后,输入用户密码,在 home 目录会建立 gitlab 目录
能够下载一个 docker 的可视化工具 Kiteatic,以下图:
Kiteatic 下载地址[1]
# 将external_url修改成GitLab服务器的访问地址: external_url 'http://localhost:30000' 复制代码
因为定义的 url 中有端口号,须要将 nginx 监听的端口号改回 80,不然 nginx 将监听容器的 30000 端口,形成 GitLab 没法使用:
nginx['listen_port'] = 80 复制代码
gitlab_rails['gitlab_ssh_host'] = "localhost" gitlab_rails['gitlab_shell_ssh_port'] =30001 复制代码
gitlab_rails['gitlab_email_from'] = "xxxx@163.com” gitlab_rails['gitlab_email_reply_to'] = ‘xxxx@163.com' gitlab_rails['smtp_enable'] = true gitlab_rails['smtp_address'] = "smtp.163.com" gitlab_rails['smtp_port'] = 465 gitlab_rails['smtp_user_name'] = "xxxx@163.com" # 此处密码应该为客户端受权码,而不是登陆密码 gitlab_rails['smtp_password'] = "xxxxpassword" gitlab_rails['smtp_domain'] = "163.com" gitlab_rails['smtp_authentication'] = "login" gitlab_rails['smtp_enable_starttls_auto'] = true gitlab_rails['smtp_tls'] =true gitlab_rails['smtp_openssl_verify_mode'] = "peer" 复制代码
注意:
以上设置的端口号 465 是 SSL 协议端口号,非 SSL 协议端口号是 25 此处填写的密码应该是客户端受权码,而不是邮箱的登陆密码,若是设置错误,会致使发送邮件失败
用命令 docker restart gitlab 重启 GitLab,或者在容器中执行命令 gitlab-ctl reconfigure 从新配置 gitlab。
查看日志
# 实时查看docker容器日志 $ sudo docker logs -f -t --tail 行数 容器名 复制代码
因为以前已经配置了端口映射
打开浏览器输入http://localhost:30000/,就能够看到登陆界面
密码至少要 8 位
设置完密码后,进入界面是这样的
至此,安装搭建 git 服务器基本完成。
更多相关文档,请查看https://docs.gitlab.com/omnibus/README.html
剩余的操做部分,相信你能够完成的
或者,下次再接着说
Kiteatic下载地址:
本文始发于公众号:wanpython
地址:mp.weixin.qq.com/s/0Vrvct6m0…
若是以为还不错,请关注我