docker 安装 gitlab

基础准备

下载镜像

docker pull gitlab/gitlab-ce

添加目录

添加 etc data logs 三个目录

[root@mydocker gitlab]# pwd
/root/docker/gitlab
[root@mydocker gitlab]# l
total 0
drwxr-xr-x 2 root root 6 Aug 29 19:57 data/
drwxr-xr-x 2 root root 6 Aug 29 19:57 etc/
drwxr-xr-x 2 root root 6 Aug 29 19:57 logs/
[root@mydocker gitlab]#

启动容器

docker run --dns 8.8.8.8  --detach  -p 8090:80 -p 122:22  --name gitlab  --restart always  --hostname 192.168.299.130 -v/root/docker/gitlab/etc:/etc/gitlab  -v /root/docker/gitlab/logs:/var/log/gitlab  -v /root/docker/gitlab/data:/var/opt/gitlab  -v /etc/localtime:/etc/localtime:ro  --privileged=true 3494787883fd
docker run \
--detach \
--dns 8.8.8.8 # 防止无法访问外网
--publish 122:22
--publish 8443:443 \    # 映射https端口, 不过本文中没有用到
--publish 8090:80 \      # 映射宿主机8090端口到容器中80端口
--publish 8022:22 \      # 映射22端口, 可不配
--name gitlab \            
--restart always \
--hostname 10.12.2.22 \    # 局域网宿主机的ip, 如果是公网主机可以写域名
-v /home/software/gitlab/etc:/etc/gitlab \    # 挂载gitlab的配置文件
-v /home/software/gitlab/logs:/var/log/gitlab \    # 挂载gitlab的日志文件
-v /home/software/gitlab/data:/var/opt/gitlab \    # 挂载gitlab的数据
-v /etc/localtime:/etc/localtime:ro \    # 保持宿主机和容器时间同步
--privileged=true beginor/gitlab-ce    # 在容器中能以root身份执行操作

此时容器状态为starting,需要等到容器状态为``时才能访问【约需数分钟】

[root@mydocker logs]# docker ps
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS                            PORTS                                                NAMES
50b9a7e82c64        3494787883fd        "/assets/wrapper"   9 minutes ago       Up 2 minutes (health: starting)   443/tcp, 0.0.0.0:122->22/tcp, 0.0.0.0:8090->80/tcp   gitlab
[root@mydocker logs]# docker ps
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS                   PORTS                                                NAMES
50b9a7e82c64        3494787883fd        "/assets/wrapper"   11 minutes ago      Up 4 minutes (healthy)   443/tcp, 0.0.0.0:122->22/tcp, 0.0.0.0:8090->80/tcp   gitlab
[root@mydocker logs]#

重置密码

此时可以访问gitlab,然后会跳转到重置密码页面

之后会跳转到登录页面,默认用户名为root

修改为中文

重新登录生效

配置邮箱

进入 etc/gitlab.rb 修改为如下

[root@mydocker etc]# cat gitlab.rb
external_url 'http://192.168.229.130'
gitlab_rails['time_zone'] = 'Asia/Shanghai'
gitlab_rails['gitlab_email_reply_to'] = '邮箱地址@qq.com'
gitlab_rails['gitlab_default_can_create_group'] = false
gitlab_rails['gitlab_username_changing_enabled'] = false
gitlab_rails['gitlab_shell_ssh_port'] = 22
gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "smtp.qq.com"
gitlab_rails['smtp_port'] = 465
gitlab_rails['smtp_user_name'] = "邮箱地址@qq.com"
gitlab_rails['smtp_password'] = "授权码"
gitlab_rails['smtp_domain'] = "qq.com"
gitlab_rails['smtp_authentication'] = "login"
gitlab_rails['smtp_enable_starttls_auto'] = true
gitlab_rails['smtp_tls'] = true
gitlab_rails['gitlab_email_from'] = '邮箱地址@qq.com'
gitlab_rails['smtp_domain'] = "smtp.qq.com"
user['git_user_email'] = "邮箱地址@qq.com"

发送邮箱测试

[root@mydocker ~]# docker exec -it gitlab gitlab-rails console
Loading production environment (Rails 4.2.8)
irb(main):001:0> Notify.test_email('邮箱地址@qq.com', 'Message Subject', 'Message Body').deliver_now

clone 项目

ssh 配置

https://www.cnblogs.com/khlbat2020/p/13661423.html

clone

# git clone ssh://git@ip地址:端口号/local-study/http-request/httpclient-study.git
git clone ssh://git@192.168.1.104:122/local-study/http-request/httpclient-study.git
posted @ 2020-09-13 14:58  khlbat  阅读(172)  评论(0)    收藏  举报