Dockerfile之创建gitlab脚本
Dockerfile之创建gitlab脚本
https版本
(需要https的cert证书,gitlab需要cert的apach类型证书,我的是阿里云服务器和域名,所以可以直接从阿里云上下载证书就行了)
FROM gitlab/gitlab-ee:latest
ADD gitlab.rb /etc/gitlab/gitlab.rb
对应的docker-compose.yml脚本链接:
https://www.jianshu.com/p/74c1cb5ca45c
脚本说明:
脚本中的前3行ADD功能,就是把dockerfile当前目录下的3个cert的apach类型的证书都添加进去,最后一个【ADD gitlab.rb /etc/gitlab/gitlab.rb】,这个是实现https关键异步,这是我投机取巧的方式,因为我原本想通过指令实现修改【/etc/gitlab/gitlab.rb】(追加https配置语句),没成功,所以就先创建了gitlab,然后复制出【/etc/gitlab/gitlab.rb】这个文件,通过vim手动添加了我需要的https配置语句,然后放到dockerfile的目录 所在目录下,在重新docker build创建镜像,这样一来以后创建镜像的容器时,就不用重新修改【/etc/gitlab/gitlab.rb】文件了
以下的代码就是 【/etc/gitlab/gitlab.rb】中要添加的 https的关键代码
(注意:其中为了不暴露我的 external_url 端口号,这里随意修改了,这里的端口号要和后续的 docker-compose.yml创建容器的脚本中的开放的端口号保持一致,否则将无法正常使用gitlab)
# GitLab URL
#! URL on which GitLab will be reachable.
#! For more details on configuring external_url see:
#! https://docs.gitlab.com/omnibus/settings/configuration.html#configuring-the-external-url-for-gitlab
external_url 'https://www.micking.top:7891'
nginx['redirect_http_to_https'] =true
nginx['ssl_certificate'] = "/cert/2423367_www.micking.top_public.crt"
nginx['ssl_certificate_key'] = "/cert/2423367_www.micking.top.key"
这里的 【/cert/】目录是自己创建的,这个会在 【docker-compose.yml】脚本中体现,就是映射(挂载)到宿主机上存放对应的ssl证书的所在目录上,一般为了方便统一使用ssl证书,所有容器的https配置目录都会挂载到宿主机的同一个位置