今天来安装一下gitlab
搜索镜像
docker search gitlab
拉取最新版本的gitlab镜像到本地
docker pull gitlab/gitlab-ce
创建gitlab的配置(etc)、日志(log)、数据(data)目录
为了方便日后升级,因此这三个目录要放在docker外面;另外gitlab挂载宿主机目录后,可以映射配置文件、数据文件、日志文件到宿主机,后续可以直接在宿主机查看,方便操作。
mkdir -p /data/docker/gitlab/{etc,data,log}
创建gitlab容器
docker run \
-d --name qz-gitlab \
--hostname 43.138.58.183 \
--restart always --privileged=true \
-p 9090:9090 \
-v /data/docker/gitlab/etc:/etc/gitlab \
-v /data/docker/gitlab/data:/var/opt/gitlab \
-v /data/docker/gitlab/log:/var/log/gitlab gitlab/gitlab-ce
**-d(–detach):后台运行;
–name:设置容器的名字;
–hostname:服务器的ip地址。如果端口是80可以只配置IP,但如果-p 9090:9090,则hostname也需要设置成:49.232.70.33:9090
-p 9090:9090,这两个端口映射需要保持一致,如果不一致会导致无法克隆项目代码;
–hostname:设置容器内主机的名字,就是clone代码时的地址;
如果服务器ip发生了变化,导致无法pull/push代码,我们只需要通过:vi /data/docker/gitlab/etc/gitlab.rb命令编辑配置文件中的external_url,将其设置为:http://当前服务器ip,然后用:docker restart qz-gitlab(或容器ID)重启gitlab容器即可;
–restart:设置容器的重启策略,可选项: no | on-failure[:max-retries] | always | unless-stopped ;
-v(–volume):挂载目录,形式:[HOST-DIR:]CONTAINER-DIR;
**
记得放开端口和修改root密码
进入容器内部
docker exec -it gitlab-dev /bin/bash
进入控制台
gitlab-rails console -e production
查询id为1的用户,id为1的用户是超级管理员
user = User.where(id:1).first
修改密码为root123456(密码需要超过八位别单独出现某种字符)
user.password='root123456'
保存
user.save!
退出
exit