ubuntu20.04安装docker并安装gitlab
服务器内存需大于4G
安装vim
如果下载失败需要换源
- sudo apt-get update更新软件列表
- sudo apt-get install vim 安装vim
安装docker
- 卸载旧版本
sudo apt-get remove docker docker-engine docker.io containerd runc
完全删除
sudo apt-get purge docker-ce docker-ce-cli containerd.io docker-compose-pluginsudo rm -rf /var/lib/docker sudo rm -rf /var/lib/containerd
- 更新软件源
sudo apt-get update
- 允许apt通过 HTTPS 使用存储库
sudo apt-get install ca-certificates curl gnupg lsb-release
- 添加 Docker 的官方 GPG 密钥
sudo mkdir -p /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
- 设置存储库
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
- 安装
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-compose-plugin
- 验证
sudo docker run hello-world
若正确,会弹出Hello from Docker!
安装gitlab
- 查找gitlab镜像
docker search gitlab
- 拉取镜像
docker pull gitlab/gitlab-ce:latest
- 启动
docker run \
-itd \
-p 9980:80 \
-p 9922:22 \
-v /home/gitlab/etc:/etc/gitlab \
-v /home/gitlab/log:/var/log/gitlab \
-v /home/gitlab/opt:/var/opt/gitlab \
--restart always \
--privileged=true \
--name gitlab \
gitlab/gitlab-ce
- 加入容器内进行修改
docker exec -it gitlab /bin/bash
- 修改/etc/gitlab/gitlab.rb
vi /etc/gitlab/gitlab.rb
- 添加如下
#gitlab访问地址,可以写域名。如果端口不写的话默认为80端口
external_url 'http://服务器IP'
#ssh主机ip
gitlab_rails['gitlab_ssh_host'] = '服务器IP'
#ssh连接端口
gitlab_rails['gitlab_shell_ssh_port'] = 9922
- 让配置生效
gitlab-ctl reconfigure
- 修改http和ssh配置
vi /opt/gitlab/embedded/service/gitlab-rails/config/gitlab.yml
gitlab:
host: 服务器IP
port: 9980 # 这里改为9980
https: false
- 重启容器
gitlab-ctl restart
- 退出
exit
- 访问 http://服务器IP:9980 ,出现502就刷新下,就能出现页面
设置root账户
- 修改密码
# 进入容器内部
docker exec -it gitlab /bin/bash
# 进入控制台
gitlab-rails console -e production
# 查询id为1的用户,id为1的用户是超级管理员
user = User.where(id:1).first
# 修改密码为root1AQ@
user.password='root1AQ@'
# 保存
user.save!
# 退出
exit
- 完成!
2022-8-27 更新 坑点
external_url 是git clone 时的地址,如果我使用的是9980端口,这里要写'http://服务器IP:9980' 文档中没提到的一点是,如果在这里加端口(即不是默认的80端口) 就要修改docker的映射
- 将其修改为'http://服务器IP:9980',并gitlab-ctl reconfigure及gitlab-ctl restart及exit
- 关闭docker
systemctl stop docker
- cd 到docker容器的目录
cd /var/lib/docker/containers
- cd 容器ID
- vim hostconfig.json
文件中其中有一项是PortBindings,将其中80/tcp改为9980/tcp
- vim config.v2.json
将其中80/tcp改为9980/tcp
-
systemctl start docker
-
完成!