docker命令之gitlab(三)

centos7 以docker镜像的方式安装gitlab为例,记录docker基本命令的使用

1.基于IP地址运行github镜像,

1
2
3
4
5
6
7
8
9
10
11
sudo docker run --detach \
--hostname gitlab.example.com \
--publish 108.160.129.79:6000:443 \
--publish 108.160.129.79:7000:80 \
--publish 108.160.129.79:8000:22 \
--name gitlab \
--restart always \
--volume /srv/gitlab/config:/etc/gitlab \
--volume /srv/gitlab/logs:/var/log/gitlab \
--volume /srv/gitlab/data:/var/opt/gitlab \
gitlab/gitlab-ce:latest

上面下载并启动GitLab CE容器并发布访问SSH,HTTP和HTTPS所需的端口,注意要开启服务器上相应的防火墙端口。

1
2
3
4
5
6
//开放防火墙6000端口
firewall-cmd --zone=public --add-port=6000/tcp --permanent
//重启防火墙
firewall-cmd --reload
//查看开放端口列表
firewall-cmd --list-port

在等待一段时间,gitlab容器完全启动后,就可以访问7000端口,访问web登录界面。

2.查看容器列表 docker ps

1
2
3
4
//查看运行的容器
docker ps
//查看所有容器
docker ps -a

3.修改GitLab 配置文件
容器所有配置都在唯一的配置文件/etc/gitlab/gitlab.rb中完成

1
2
3
4
//在运行中的容器启动shell会话,可以访问gitlab的配置文件
sudo docker exec -it gitlab /bin/bash
//修改配置文件
vim /etc/gitlab/gitlab.rb

3.配置gitlab来启用邮箱功能
通过配置SMTP服务器而不是通过Sendmail来发送程序电子邮件
将以下配置信息添加到 /etc/gitlab/gitlab.rb并运行 gitlab-ctl reconfigure
以配置腾讯企业邮箱为例,注意开放防火墙465端口

1
2
3
4
5
6
7
8
9
10
gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "smtp.exmail.qq.com"
gitlab_rails['smtp_port'] = 465
gitlab_rails['smtp_user_name'] = "xuzhixiong@axhome.com.cn"
gitlab_rails['smtp_password'] = "XXXXXX"
gitlab_rails['smtp_authentication'] = "login"
gitlab_rails['smtp_enable_starttls_auto'] = true
gitlab_rails['smtp_tls'] = true
gitlab_rails['gitlab_email_from'] = 'xuzhixiong@axhome.com.cn'
gitlab_rails['smtp_domain'] = "exmail.qq.com"

然后在容器shell会话运行命令 gitlab-ctl reconfigure

4.发送测试

1
Notify.test_email('1007854820@qq.com', '邮件标题', '邮件正文').deliver_now

5.其他docker常用命令

1
docker pull gitlab/gitlab-ce //拉取镜像
1
docker restart gitlab //重启容器
1
docker stop gitlab //停止容器
1
docker rm gitlab //删除容器
1
sudo docker logs gitlab //读取容器日志