使用docker部署gitlab流程记录

why docker

  1. 部署简单,而且docker官网有成熟的docker gitlab repo
  2. 迁移简单 ,如果后期jp的服务器网速慢了or代码量增加,可以考虑整体把docker迁移到国内类似 aliyun

install docker

refer:

https://docs.docker.com/install/linux/docker-ce/ubuntu/#install-docker-ce-1

note:

apt-get install 之前需要 SET UP THE REPOSITORY

check docker if installed ok

sudo service docker status

pull gitlab docker repo

refer:

https://hub.docker.com/r/gitlab/gitlab-ce/

install command

docker pull gitlab/gitlab-ce

check gitlab if installed ok

sudo docker image ls

run docker

prepare

mkdir -p /srv/gitlab/config
mkdir -p /srv/gitlab/logs
mkdir -p /srv/gitlab/data

run

sudo docker run --detach \
    --hostname 54.95.90.120 \
    --publish 443:443 --publish 80:80 --publish 10080: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

参数说明:
--detach: 设置容器后台运行
--hostname: 设置容器的 hostname,如果是本地localhost ,否则使用外网ip
--publish: 端口转发规则(80:Http 访问端口,443:Https 访问端口,10080:主机的 ssh 访问端口,22:Docker 容器中 ssh 访问端口)
--name:容器名称
--restart always:每次启动容器就重启GitLab
--volume: 共享目录挂载,即 docker 容器内外数据共享(/srv/gitlab/data: 应用程序数据,/srv/gitlab/logs:GitLab 的 log,/srv/gitlab/config:GitLab 的配置文件)
--e:配置 Gitlab 运行的环境变量

Note:
      所有冒号后面的都是docker的东西,冒号前面的是host主机的
      例如:10080:22  为本机的10080端口映射为docker的22端口

check if docker run ok

  1. 查看正在运行的docker
sudo docker ps -a

如果starting消失了 则ok了

  1. 如何参数写错了可以暂停、删除
    sudo docker stop ID/name
    sudo docker rm ID/name
  2. 查看docker安装的具体信息
    3.1 查看docker的设置信息
docker inspect ID/name

3.2 查看安装进度

sudo docker logs gitlab

configure gitlab

refer :

https://www.jianshu.com/p/24959481340e

刚刚启动Gitlab的时候需要我们输入一个密码,这个密码是管理员用户的密码。我们在登录那里使用root作为用户名,然后用刚刚设置的密码,就可以以管理员身份登录Gitlab

That All

安装中发现的问题

安装中途发现服务器的内存不够,总是卡死
使用free -m 来检查内存大小,如果需要更改vagrant的配置文件。最后加入下面配置

config.vm.provider "virtualbox" do |v|
  v.memory = 1024*4
  v.cpus = 2
end

如果配置没有问题,进入虚拟机
free -m 来验证

ping 不通

ping ip not work

查看本机开放的port

sudo netstat -anp|grep 80

发现本机的80端口的开放,并且本机拿页面也是可以拿到的

curl localhost:80

原因分析
1 防火墙的原因
2 aws的对外rule配置问题
经检查为aws需要配置一个inbound rules

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 安装docker for windows 下载 docker官方下载注意,docker for windows需要...
    废猫终末旅行阅读 13,991评论 3 6
  • 拉取镜像及启动容器 参考:gitlab documentation 首先使用dao加速器拉取daocker镜像: ...
    小狐濡尾阅读 10,890评论 0 8
  • 由于公司的代码服务器已使用Gitosis搭建,但由于用户和权限管理太麻烦,现在想在原有服务器上再搭建Gitlab,...
    阳春面阅读 2,491评论 3 19
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,131评论 19 139
  • 相忘于江湖 江湖 是人心中的一个童话 仗剑天涯,策马扬鞭 我说 有人的地方就是江湖 你我结识于江湖 在温暖...
    杨书海阅读 258评论 0 1