部署逻辑与部署Jenkins类似,但是实现方式做了一些调整。
先安装docker-compose,docker-compose是doker容器的管理工具,通过yaml来实现多个容器之间的调用关系。通过docker-compose.yml模板来定义一组相关联的应用容器为一个项目,使用一条指令安装应用所需要的依赖,完成构建,Docker-Compose解决了容器与容器之间如何管理编排的问题。
安装compose
curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose
#确认安装成功
docker-compose --version
yaml代码:
version: '3.9'
services:
gitlab:
container_name: gitlab
image: 'gitlab/gitlab-ce:latest'
restart: unless-stopped
environment:
GITLb_omnibus_config:
external_url 'http://gitlab.pis360.com/'
gitlab_rails['gitlab_shell_ssh_port'] = 2224
TZ: Asia/Shanghai
ports:
- '9001:9001'
- '2224:2224'
- '9003:80'
- '9004:8080'
- '9005:9090'
- '9006:443'
volumes:
- './gitlab/config:/etc/gitlab'
- './gitlab/logs:/var/log/gitlab'
- './gitlab/data:/var/opt/gitlab'
shm_size: '256m'
配置项存在问题,以后再进行优化。
docker-compose.yml的参数定义参考 http://t.zoukankan.com/goloving-p-14964261.html
从文件目录通过docker-compose up -d gitlab 启动
通过docker ps 确认启动是否成功
启动后通过ip:9003访问
访问后新建项目时报错500,去docker查询运行的服务,gitlab-ctl status
发现有几个服务未启动,gitlab-ctl start xxxx启动后能够正常创建项目
项目的克隆地址是本地的,需要改成公网IP或者域名。
进入容器内vim /opt/gitlab/embedded/service/gitlab-rails/config/gitlab.yml
修改
host: 公网IP
port: 端口
https: false
此时生成的克隆地址已经是公网IP
配置项修改已经卷出来的文件/config/gitlab.rb,gitlab.yml是根据rb文件来生成的,若是没有更改rb,每次重启,yml文件都会被重置。
标签:容器,compose,gitlab,docker,config,yml From: https://www.cnblogs.com/helloshikui/p/17225477.html