获取镜像

  1. docker pull gitlab/gitlab-ce:10.6.4-ce.0

编辑配置文件 .env

  1. GIT_HOSTNAME=git.com.cn
  2. GIT_HTTP_PORT=80
  3. GIT_HTTPS_PORT=443
  4. GIT_SSH_PORT=10022
  5. GIT_EXT_URL='http://git.com.cn'
  6. GIT_EXT_SSH_PORT=10022

编辑 docker-compose.yml

  1. version: '3'
  2. services:
  3. git:
  4. image: gitlab/gitlab-ce:10.6.4-ce.0
  5. container_name: git
  6. restart: always
  7. network_mode: bridge
  8. hostname: ${GIT_HOSTNAME}
  9. ports:
  10. - "${GIT_HTTP_PORT}:80"
  11. - "${GIT_HTTPS_PORT}:443"
  12. - "${GIT_SSH_PORT}:22"
  13. environment:
  14. GITLAB_OMNIBUS_CONFIG: |
  15. # 将两个变量改为具体的值,否则启动将报错
  16. external_url ${GIT_EXT_URL}
  17. gitlab_rails['gitlab_shell_ssh_port'] = ${GIT_EXT_SSH_PORT}
  18. volumes:
  19. - /opt/gitlab/config:/etc/gitlab:z
  20. - /opt/gitlab/data:/var/opt/gitlab:z
  21. - /opt/gitlab/logs:/var/log/gitlab:z
  22. - /etc/localtime:/etc/localtime:ro
  23. - /opt/gitlab/data/backups:/var/opt/gitlab/backups

启动

  1. docker-compose up -d

image.png

修改配置文件

用于邮件发送

  1. sed -i $'s/# gitlab_rails\[\'smtp_enable\'\] = true/gitlab_rails\[\'smtp_enable\'\] = true/' /opt/gitlab/config/gitlab.rb
  2. sed -i $'s/# gitlab_rails\[\'smtp_address\'\] = "smtp.server"/gitlab_rails\[\'smtp_address\'\] = "smtp.263.net"/' /opt/gitlab/config/gitlab.rb
  3. sed -i $'s/# gitlab_rails\[\'smtp_port\'\] = 465/gitlab_rails\[\'smtp_port\'\] = 25/' /opt/gitlab/config/gitlab.rb
  4. sed -i $'s/# gitlab_rails\[\'smtp_user_name\'\] = "smtp user"/gitlab_rails\[\'smtp_user_name\'\] = "gitlab@git.com.cn"/' /opt/gitlab/config/gitlab.rb
  5. sed -i $'s/# gitlab_rails\[\'smtp_password\'\] = "smtp password"/gitlab_rails\[\'smtp_password\'\] = "123456"/' /opt/gitlab/config/gitlab.rb
  6. sed -i $'s/# gitlab_rails\[\'smtp_domain\'\] = "example.com"/gitlab_rails\[\'smtp_domain\'\] = "263.net"/' /opt/gitlab/config/gitlab.rb
  7. sed -i $'s/# gitlab_rails\[\'smtp_enable_starttls_auto\'\] = true/gitlab_rails\[\'smtp_enable_starttls_auto\'\] = false/' /opt/gitlab/config/gitlab.rb
  8. sed -i $'s/# gitlab_rails\[\'smtp_tls\'\] = false/gitlab_rails\[\'smtp_tls\'\] = false/' /opt/gitlab/config/gitlab.rb
  9. sed -i $'s/# gitlab_rails\[\'smtp_openssl_verify_mode\'\] = \'none\'/gitlab_rails\[\'smtp_openssl_verify_mode\'\] = \'none\'/' /opt/gitlab/config/gitlab.rb

image.png

检查

image.png

image.png