如果你是自己的虚拟机,需要更改docker的镜像源,使用阿里云镜像源,如果是阿里云ECS就不用管了直接干
拉取镜像:
docker pull gitlab/gitlab-ce
镜像大概2G+
此篇文章下载的默认最新版是GitLab Community Edition 14.3.3
创建目录:
mkdir /data/gitlab/config
mkdir /data/gitlab/logs
mkdir /data/gitlab/data
启动:
docker run --detach \
--hostname 172.16.192.142 \
--publish 7001:443 --publish 7002:80 --publish 7003:22 \
--name gitlab --restart always \
--volume /data/gitlab/config:/etc/gitlab \
--volume /data/gitlab/logs:/var/log/gitlab \
--volume /data/gitlab/data:/var/opt/gitlab \
--memory=2048m 9918f6cf4187
注意 hostname 处是你宿主机的内网ip地址,即使通过nat映射也是写本机地址
修改配置文件:
vim /data/gitlab/config/gitlab.rb
添加:
external_url 'http://172.16.192.142'
gitlab_rails['gitlab_ssh_host'] = '172.16.192.142'
gitlab_rails['gitlab_shell_ssh_port'] = 7003
进入容器重启配置服务,大概需要1分钟左右
# docker exec -it gitlab /bin/bash
# gitlab-ctl reconfigure
出现下面字符就是成功了:
Starting Chef Infra Client, version 15.17.4
resolving cookbooks for run list: ["gitlab"]
Synchronizing Cookbooks:
- gitlab (0.0.1)
- package (0.1.0)
- logrotate (0.1.0)
- postgresql (0.1.0)
- redis (0.1.0)
- monitoring (0.1.0)
- registry (0.1.0)
- mattermost (0.1.0)
- consul (0.1.0)
- gitaly (0.1.0)
- praefect (0.1.0)
- gitlab-kas (0.1.0)
- gitlab-pages (0.1.0)
- letsencrypt (0.1.0)
- nginx (0.1.0)
- runit (5.1.3)
- acme (4.1.3)
- crond (0.1.0)
访问
http://172.16.192.142:7002
默认用户 root
默认密码需要进入容器查看
# docker exec -it gitlab /bin/bash
cat /etc/gitlab/initial_root_password
就能看到password后一串密码
注意:密码文件据说会在24小时后自动删除,所以需要自己修改一下密码以防忘记
更改密码
添上新密码就行了
切换中文
save后切换到其他页面就能看到效果了,很老的版本是没有这个选项的,需要自己下载汉化包