1、安装docker-compose
用dao-cloud来下载:
sudo curl -L https://get.daocloud.io/docker/compose/releases/download/1.25.1/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
之后给docker-compose赋予可执行权限
chmod +x /usr/local/bin/docker-compose
docker-compose --version

到此docker-compose安装OK
2、通过docker-compose安装gitlab
安装gitlab一定要保证内存至少是4G,要不然就是运行不下去
在对应安装docker目录下创建一个
mkdir gitlab
里面创建一个.yml文件
文件内容
- version: '3.6'
- services:
- web:
- image: 'gitlab/gitlab-ce:latest'
- restart: always
- hostname: '192.168.29.133'
- environment:
- GITLAB_OMNIBUS_CONFIG: |
- external_url 'http://192.168.29.133:8929'
- gitlab_rails['gitlab_shell_ssh_port'] = 2224
- ports:
- - '8929:8929'
- - '2224:22'
- volumes:
- - '$GITLAB_HOME/config:/etc/gitlab'
- - '$GITLAB_HOME/logs:/var/log/gitlab'
- - '$GITLAB_HOME/data:/var/opt/gitlab'
- shm_size: '256m'
根据自己情况选择:
- version: '3'
-
- services:
- gitlab:
- image: 'gitlab/gitlab-ce:14.10.2-ce.0'
- restart: always
- hostname: 'www.mygitlab.com'
- environment:
- TZ: 'Asia/Shanghai'
- GITLAB_OMNIBUS_CONFIG: |
- external_url 'http://172.16.0.86:3000' # web站点访问地址
- gitlab_rails['gitlab_shell_ssh_port'] = 2222
- ports:
- - '3000:3000' # 注意宿主机和容器内部的端口要一致,否则external_url无法访问
- - '8443:443'
- - '2222:22'
- volumes:
- - ./config:/etc/gitlab
- - ./data:/var/opt/gitlab
- - ./logs:/var/log/gitlab
- logging:
- driver: "json-file"
- options:
- max-size: "2g"
- max-file: "2"
之后要在gitlab中查看密码:
docker exec -it gitlab grep 'Password:' /etc/gitlab/initial_root_password
PS:
如果用docker命令也可以装gitlab
- docker run \
- -d \
- -p 8443:443 \
- -p 8089:80 \
- -p 222:22 \
- --name gitlab \
- --restart always \
- -v /docker/data/gitlab/etc:/etc/gitlab \
- -v /docker/data/gitlab/log:/var/log/gitlab \
- -v /docker/data/gitlab/data:/var/opt/gitlab \
- gitlab/gitlab-ce
之后得修改文件:
- sudo vim /docker/data/gitlab/etc/gitlab.rb
- //改为自己的服务器ip
- external_url 'http://192.168.50.55'
- //配置ssh协议所使用的访问地址和端口
- gitlab_rails['gitlab_ssh_host'] = '192.168.50.55'
- gitlab_rails['gitlab_shell_ssh_port'] = 222 //此端口是run时22端口映射的222端口
- # gitlab_rails['time_zone'] = 'Asia/Shanghai'
- //gitlab建议如果您这台机器只使用与gitlab的话unicorn['worker_processes'] 这个默认是cpu核心数加一,开启的进程会比较多,根据自己的情况设置一下
- # unicorn['worker_processes'] = 2
- //
- sudo vim /docker/data/gitlab/data/gitlab-rails/etc/gitlab.yml
- //找到,Web server settings,将host改为自己的服务器ip
- host: 192.168.50.55
-
- 之后
- docker restart gitlab
之后再连接gitlab,此处是学习其他文章的:
- SSH 连接GitLab
-
- 首先我们需要得到一个SSH Key,输入
-
- cat ~/.ssh/id_rsa.pub
- 如果出现 ssh-rsa打头的字符,说明本地已经有了SSH Key那我们可以直接拿来用,如果没有则需要我们自己创建一个SSH Key。
-
- 创建SSH Key
- 输入以下命令创建一个SSH Key。
- ssh-keygen -t rsa -C "123@example.com" -b 4096
- 完成之后可以再输入 上面的cat命令 或者pbcopy直接复制生成的ssh key。
-
- pbcopy < ~/.ssh/id_rsa.pub
- SSH 连接 2224 端口
-
- 正常情况下你已经可以通过git命令来连接我们部署的gitlab,22端口映射到了宿主机host的2224上,我们需要指定端口来进连接。
-
- ssh -p 2224 git@gitlab.domain.com
- 同时还需要更改GitLab的配置文件中的ssh端口,否则GitLab中为我们生成的项目连接地址会连接不上。
- /gitlab/config/gitlab.rb
-
- gitlab_rails['gitlab_shell_ssh_port'] = 2224
- 更改完ssh端口之后重启gitlab容器,之后我们的项目 ssh连接址会变为:
- ssh://git@gitlab.domain.com:1022/test/projectname.git