Docker-compose部署gitlab的方法步骤

 更新时间:2018年12月11日 15:12:28   作者:kim0820  
这篇文章主要介绍了Docker-compose部署gitlab的方法步骤,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧

Docker-compose部署gitlab

1、安装Docker

安装必要工具

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

添加Docker-ce镜像源并安装

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

添加Docker镜像加速

[root@vm_10_14_centos ~]# vim /etc/docker/daemon.json
{
"registry-mirrors": ["https://9w1hl6qt.mirror.aliyuncs.com"]
}
[root@vm_10_14_centos ~]# systemctl daemon-reload
[root@vm_10_14_centos ~]# systemctl restart docker
[root@vm_10_14_centos ~]# rpm -qa docker
[root@vm_10_14_centos ~]# rpm -qa docker-ce
docker-ce-18.09.0-3.el7.x86_64
[root@vm_10_14_centos ~]# docker --version
Docker version 18.09.0, build 4d60db4
[root@vm_10_14_centos ~]# docker version
Client:
 Version:   18.09.0
 API version:  1.39
 Go version:  go1.10.4
 Git commit:  4d60db4
 Built:    Wed Nov 7 00:48:22 2018
 OS/Arch:   linux/amd64
 Experimental:  false

Server: Docker Engine - Community
 Engine:
 Version:   18.09.0
 API version:  1.39 (minimum version 1.12)
 Go version:  go1.10.4
 Git commit:  4d60db4
 Built:   Wed Nov 7 00:19:08 2018
 OS/Arch:   linux/amd64
 Experimental:  false

2、安装Docker-compose

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

[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
 % Total % Received % Xferd Average Speed Time Time  Time Current
         Dload Upload Total Spent Left Speed
100 617 0 617 0  0 959  0 --:--:-- --:--:-- --:--:-- 958
100 11.2M 100 11.2M 0  0 1824k  0 0:00:06 0:00:06 --:--:-- 2422k
[root@vm_10_14_centos ~]# chmod +x /usr/local/bin/docker-compose
[root@vm_10_14_centos ~]# docker-compose --version
docker-compose version 1.23.2, build 1110ad01

3、安装Gitlab

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

[root@vm_10_14_centos ~]# mkdir gitlab
[root@vm_10_14_centos ~]# cd gitlab/
[root@vm_10_14_centos gitlab]# vim docker-compose.yml 
version: '2'
services:
 gitlab:
  image: 'twang2218/gitlab-ce-zh:11.1.4'
  container_name: "gitlab"
  restart: unless-stopped
  privileged: true
  hostname: 'gitlab'
  environment:
  TZ: 'Asia/Shanghai'
  GITLAB_OMNIBUS_CONFIG: |
   external_url 'http://129.204.133.242'
   gitlab_rails['time_zone'] = 'Asia/Shanghai'
   gitlab_rails['smtp_enable'] = true
   gitlab_rails['smtp_address'] = "smtp.aliyun.com"
   gitlab_rails['smtp_port'] = 465
   gitlab_rails['smtp_user_name'] = "kimasd102419@aliyun.com" #用自己的aliyun邮箱
   gitlab_rails['smtp_password'] = "axbc1kof"
   gitlab_rails['smtp_domain'] = "aliyun.com"
   gitlab_rails['smtp_authentication'] = "login"
   gitlab_rails['smtp_enable_starttls_auto'] = true
   gitlab_rails['smtp_tls'] = true
   gitlab_rails['gitlab_email_from'] = 'kimasd102419@aliyun.com'
   gitlab_rails['gitlab_shell_ssh_port'] = 22
  ports:
  - '80:80'
  - '443:443'
  - '22:22'
  volumes:
  - /opt/gitlab/config:/etc/gitlab
  - /opt/gitlab/data:/var/opt/gitlab
  - /opt/gitlab/logs:/var/log/gitlab

(2)创建相关目录

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

(3)拉取gitlab中文版镜像

[root@vm_10_14_centos gitlab]# docker pull twang2218/gitlab-ce-zh:11.1.4
11.1.4: Pulling from twang2218/gitlab-ce-zh
8ee29e426c26: Pull complete 
6e83b260b73b: Pull complete 
e26b65fd1143: Pull complete 
40dca07f8222: Pull complete 
b420ae9e10b3: Pull complete 
a218309dd589: Pull complete 
5c60fd7ba0ce: Pull complete 
659c2144b5a3: Pull complete 
8289bbac0d0e: Pull complete 
31bbd150e8a7: Pull complete 
9114e78243fa: Pull complete 
0b97fa2153bc: Pull complete 
308c7e15be6a: Pull complete 
b7f31b8e487d: Pull complete 
cbbb6dec5000: Pull complete 
0241c9ad6a16: Pull complete 
7fa6f0b53edd: Pull complete 
1c2861e152b2: Pull complete 
0536f3466f66: Pull complete 
Digest: sha256:3c2372e3285e6d6933ddebb5ee3ae0c4bbf7cb235084e54d33d7f0ddf4813c4a
Status: Downloaded newer image for twang2218/gitlab-ce-zh:11.1.4
[root@vm_10_14_centos gitlab]# docker image ls
REPOSITORY    TAG     IMAGE ID   CREATED    SIZE
twang2218/gitlab-ce-zh 11.1.4    1935cc9f8798  4 months ago  1.61GB

(4)启动gitlab的容器

[root@vm_10_14_centos gitlab]# docker-compose up -d
Creating network "gitlab_default" with the default driver
Creating gitlab ... error

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'

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'
ERROR: Encountered errors while bringing up the project.
 
[root@vm_10_14_centos gitlab]# vim /etc/ssh/sshd_config 
[root@vm_10_14_centos gitlab]# systemctl restart sshd
[root@vm_10_14_centos gitlab]# netstat -tulnp |grep 22
tcp  0  0 0.0.0.0:60022   0.0.0.0:*    LISTEN  4044/sshd  

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

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

(5)gitlab设置开机启动

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

(6)gitlab管理界面

地址:http://129.204.133.242

账号:root

密码:首次登陆设置



相关文章

  • 使用Docker部署MySQL 5.7&8.0主从集群的方法步骤

    使用Docker部署MySQL 5.7&8.0主从集群的方法步骤

    这篇文章主要介绍了使用Docker部署MySQL 5.7&8.0主从集群的方法步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-03-03
  • 详解如何获取docker容器(container)的ip地址

    详解如何获取docker容器(container)的ip地址

    这篇文章主要介绍了详解如何获取docker容器(container)的ip地址,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-09-09
  • Docker使用Prune命令清理none镜像

    Docker使用Prune命令清理none镜像

    本文主要介绍了Docker使用Prune命令清理none镜像,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-10-10
  • Docker MySQL每天定时自动备份的实现方法

    Docker MySQL每天定时自动备份的实现方法

    本文主要介绍了Docker MySQL每天定时自动备份的实现方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-01-01
  • 如何在docker中运行springboot项目过程图解

    如何在docker中运行springboot项目过程图解

    这篇文章主要介绍了如何在docker中运行springboot项目过程图解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-06-06
  • docker搭建fastdfs环境的方法步骤

    docker搭建fastdfs环境的方法步骤

    在实际使用中,通过源码编译安装过程非常复杂,但是通过docker快速构建却非常容易,本文主要介绍了docker搭建fastdfs环境,具有一定的参考价值,感兴趣的可以了解一下
    2022-06-06
  • Docker容器部署consul的详细步骤

    Docker容器部署consul的详细步骤

    Consul 是一个支持多数据中心分布式高可用的 服务发现和配置共享 的服务软件,接下来通过本文给大家介绍Docker consul部署的详细过程,需要的朋友可以参考下
    2022-02-02
  • 如何连接docker中的MySQL容器

    如何连接docker中的MySQL容器

    这篇文章主要介绍了如何连接docker中的MySQL容器问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-11-11
  • docker容器直接退出如何进入容器调试模式

    docker容器直接退出如何进入容器调试模式

    这篇文章主要介绍了docker容器直接退出,如何进入容器调试,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-09-09
  • Docker 限制容器的 Block IO使用

    Docker 限制容器的 Block IO使用

    本篇文章主要介绍了Docker 限制容器的 Block IO使用,具有一定的参考价值,感兴趣的小伙伴们可以参考一下。
    2017-08-08

最新评论