centos7以docker镜像的方式安装gitlab为例,记录docker基本命令的使用
1.运行github镜像,
sudo docker run --detach \
--hostname 108.160.129.79 \
--publish 6000:443 --publish 7000:80 --publish 9000: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所需的端口,注意要开启服务器上相应的防火墙端口。
//开放防火墙6000端口
firewall-cmd --zone=public --add-port=6000/tcp --permanent
//重启防火墙
firewall-cmd --reload
//查看开放端口列表
firewall-cmd --list-port
在等待一段时间,gitlab容器完全启动后,就可以访问7000端口,访问web登录界面。
2.查看容器列表 docker ps
//查看运行的容器
docker ps
//查看所有容器
docker ps -a
3.修改GitLab 配置文件
容器所有配置都在唯一的配置文件/etc/gitlab/gitlab.rb
中完成
//在运行中的容器启动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端口
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"
gitlab_rails['gitlab_shell_ssh_port'] = 9000
然后在容器shell会话运行命令 gitlab-ctl reconfigure
4.发送测试
Notify.test_email('1007854820@qq.com', '邮件标题', '邮件正文').deliver_now
5.其他docker常用命令
docker pull gitlab/gitlab-ce //拉取镜像
docker restart gitlab //重启容器
docker stop gitlab //停止容器
docker rm gitlab //删除容器
sudo docker logs gitlab //读取容器日志