经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » 软件/图像 » Git » 查看文章
Docker-compose部署gitlab的方法步骤
来源:jb51  时间:2018/12/12 9:29:16  对本文有异议

Docker-compose部署gitlab

1、安装Docker

安装必要工具

复制代码 代码如下:
[root@vm_10_14_centos ~]# yum -y install yum-utils device-mapper-persistent-data lvm2

添加Docker-ce镜像源并安装

  1. [root@vm_10_14_centos ~]# yum-config-manager --add-repo
  2. http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
  3. [root@vm_10_14_centos ~]# yum makecache fast
  4. [root@vm_10_14_centos ~]# yum -y install docker-ce[root@gitlab ~]# yum makecache fast
  5. [root@vm_10_14_centos ~]# yum -y install docker-ce
  6. [root@vm_10_14_centos ~]# systemctl start docker
  7. [root@vm_10_14_centos ~]# systemctl enable docker
  8. Created symlink from /etc/systemd/system/multi-user.target.wants/docker.service to /usr/lib/systemd/system/docker.service.

添加Docker镜像加速

  1. [root@vm_10_14_centos ~]# vim /etc/docker/daemon.json
  2. {
  3. "registry-mirrors": ["https://9w1hl6qt.mirror.aliyuncs.com"]
  4. }
  5. [root@vm_10_14_centos ~]# systemctl daemon-reload
  6. [root@vm_10_14_centos ~]# systemctl restart docker
  7. [root@vm_10_14_centos ~]# rpm -qa docker
  8. [root@vm_10_14_centos ~]# rpm -qa docker-ce
  9. docker-ce-18.09.0-3.el7.x86_64
  10. [root@vm_10_14_centos ~]# docker --version
  11. Docker version 18.09.0, build 4d60db4
  12. [root@vm_10_14_centos ~]# docker version
  13. Client:
  14. Version: 18.09.0
  15. API version: 1.39
  16. Go version: go1.10.4
  17. Git commit: 4d60db4
  18. Built: Wed Nov 7 00:48:22 2018
  19. OS/Arch: linux/amd64
  20. Experimental: false
  21.  
  22. Server: Docker Engine - Community
  23. Engine:
  24. Version: 18.09.0
  25. API version: 1.39 (minimum version 1.12)
  26. Go version: go1.10.4
  27. Git commit: 4d60db4
  28. Built: Wed Nov 7 00:19:08 2018
  29. OS/Arch: linux/amd64
  30. Experimental: false

2、安装Docker-compose

下载Docker-compose二进制文件并添加执行权限

  1. [root@vm_10_14_centos ~]# curl -L https://github.com/docker/compose/releases/download/1.23.2/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
  2. % Total % Received % Xferd Average Speed Time Time Time Current
  3. Dload Upload Total Spent Left Speed
  4. 100 617 0 617 0 0 959 0 --:--:-- --:--:-- --:--:-- 958
  5. 100 11.2M 100 11.2M 0 0 1824k 0 0:00:06 0:00:06 --:--:-- 2422k
  6. [root@vm_10_14_centos ~]# chmod +x /usr/local/bin/docker-compose
  7. [root@vm_10_14_centos ~]# docker-compose --version
  8. docker-compose version 1.23.2, build 1110ad01

3、安装Gitlab

(1)编辑docker-compose的yml文件

  1. [root@vm_10_14_centos ~]# mkdir gitlab
  2. [root@vm_10_14_centos ~]# cd gitlab/
  3. [root@vm_10_14_centos gitlab]# vim docker-compose.yml
  4. version: '2'
  5. services:
  6. gitlab:
  7. image: 'twang2218/gitlab-ce-zh:11.1.4'
  8. container_name: "gitlab"
  9. restart: unless-stopped
  10. privileged: true
  11. hostname: 'gitlab'
  12. environment:
  13. TZ: 'Asia/Shanghai'
  14. GITLAB_OMNIBUS_CONFIG: |
  15. external_url 'http://129.204.133.242'
  16. gitlab_rails['time_zone'] = 'Asia/Shanghai'
  17. gitlab_rails['smtp_enable'] = true
  18. gitlab_rails['smtp_address'] = "smtp.aliyun.com"
  19. gitlab_rails['smtp_port'] = 465
  20. gitlab_rails['smtp_user_name'] = "kimasd102419@aliyun.com" #用自己的aliyun邮箱
  21. gitlab_rails['smtp_password'] = "axbc1kof"
  22. gitlab_rails['smtp_domain'] = "aliyun.com"
  23. gitlab_rails['smtp_authentication'] = "login"
  24. gitlab_rails['smtp_enable_starttls_auto'] = true
  25. gitlab_rails['smtp_tls'] = true
  26. gitlab_rails['gitlab_email_from'] = 'kimasd102419@aliyun.com'
  27. gitlab_rails['gitlab_shell_ssh_port'] = 22
  28. ports:
  29. - '80:80'
  30. - '443:443'
  31. - '22:22'
  32. volumes:
  33. - /opt/gitlab/config:/etc/gitlab
  34. - /opt/gitlab/data:/var/opt/gitlab
  35. - /opt/gitlab/logs:/var/log/gitlab

(2)创建相关目录

  1. [root@vm_10_14_centos gitlab]# mkdir /opt/gitlab/{config,data,logs} -p
  2. [root@vm_10_14_centos gitlab]# ls -l /opt/gitlab/
  3. total 12
  4. drwxr-xr-x 2 root root 4096 Dec 8 11:35 config
  5. drwxr-xr-x 2 root root 4096 Dec 8 11:35 data
  6. drwxr-xr-x 2 root root 4096 Dec 8 11:35 logs

(3)拉取gitlab中文版镜像

  1. [root@vm_10_14_centos gitlab]# docker pull twang2218/gitlab-ce-zh:11.1.4
  2. 11.1.4: Pulling from twang2218/gitlab-ce-zh
  3. 8ee29e426c26: Pull complete
  4. 6e83b260b73b: Pull complete
  5. e26b65fd1143: Pull complete
  6. 40dca07f8222: Pull complete
  7. b420ae9e10b3: Pull complete
  8. a218309dd589: Pull complete
  9. 5c60fd7ba0ce: Pull complete
  10. 659c2144b5a3: Pull complete
  11. 8289bbac0d0e: Pull complete
  12. 31bbd150e8a7: Pull complete
  13. 9114e78243fa: Pull complete
  14. 0b97fa2153bc: Pull complete
  15. 308c7e15be6a: Pull complete
  16. b7f31b8e487d: Pull complete
  17. cbbb6dec5000: Pull complete
  18. 0241c9ad6a16: Pull complete
  19. 7fa6f0b53edd: Pull complete
  20. 1c2861e152b2: Pull complete
  21. 0536f3466f66: Pull complete
  22. Digest: sha256:3c2372e3285e6d6933ddebb5ee3ae0c4bbf7cb235084e54d33d7f0ddf4813c4a
  23. Status: Downloaded newer image for twang2218/gitlab-ce-zh:11.1.4
  24. [root@vm_10_14_centos gitlab]# docker image ls
  25. REPOSITORY TAG IMAGE ID CREATED SIZE
  26. twang2218/gitlab-ce-zh 11.1.4 1935cc9f8798 4 months ago 1.61GB

(4)启动gitlab的容器

  1. [root@vm_10_14_centos gitlab]# docker-compose up -d
  2. Creating network "gitlab_default" with the default driver
  3. Creating gitlab ... error
  4.  
  5. ERROR: for gitlab Cannot start service gitlab: b'driver failed programming external connectivity on endpoint gitlab (9308ca74b8491c556263eac9fb9b0abcb25258d9e2df5733fc4d9143d6b18dcc): Error starting userland proxy: listen tcp 0.0.0.0:22: bind: address already in use'
  6.  
  7. ERROR: for gitlab Cannot start service gitlab: b'driver failed programming external connectivity on endpoint gitlab (9308ca74b8491c556263eac9fb9b0abcb25258d9e2df5733fc4d9143d6b18dcc): Error starting userland proxy: listen tcp 0.0.0.0:22: bind: address already in use'
  8. ERROR: Encountered errors while bringing up the project.
  9. [root@vm_10_14_centos gitlab]# vim /etc/ssh/sshd_config
  10. [root@vm_10_14_centos gitlab]# systemctl restart sshd
  11. [root@vm_10_14_centos gitlab]# netstat -tulnp |grep 22
  12. tcp 0 0 0.0.0.0:60022 0.0.0.0:* LISTEN 4044/sshd

这里需要注意的是,由于gitlab容器需要用到22端口,不能与宿主机冲突,这里需要修改宿主机的sshd服务的监听端口

  1. [root@vm_10_14_centos gitlab]# docker-compose ps
  2. Name Command State Ports
  3. ------------------------------------------------------------------------------
  4. ------------------------
  5. gitlab /assets/wrapper Up (healthy) 0.0.0.0:22->22/tcp, 0.0.0.0:443-
  6. >443/tcp, 0.0.0.0:80->80/tcp

(5)gitlab设置开机启动

  1. [root@vm_10_14_centos gitlab]# chmod +x /etc/rc.local
  2. [root@vm_10_14_centos gitlab]# ls -l /etc/rc.local
  3. lrwxrwxrwx. 1 root root 13 Jul 7 16:43 /etc/rc.local -> rc.d/rc.local
  4. [root@vm_10_14_centos gitlab]# echo "cd /root/gitlab && docker-compose up -d" >>
  5. /etc/rc.local
  6. [root@gitlab gitlab]# tail -1 /etc/rc.local
  7. cd /root/gitlab && docker-compose up -d

(6)gitlab管理界面

地址:http://129.204.133.242

账号:root

密码:首次登陆设置



 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号