1、安装docker
安装必要工具
复制代码 代码如下:
[root@vm_10_14_centos ~]# yum -y install yum-utils device-mapper-persistent-data lvm2
添加docker-ce镜像源并安装
1
2
3
4
5
6
7
8
|
[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镜像加速
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
|
[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二进制文件并添加执行权限
1
2
3
4
5
6
7
8
|
[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文件
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
|
[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)创建相关目录
1
2
3
4
5
6
|
[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中文版镜像
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
|
[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的容器
1
2
3
4
5
6
7
8
9
10
11
12
13
|
[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服务的监听端口
1
2
3
4
5
6
|
[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设置开机启动
1
2
3
4
5
6
7
|
[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
密码:首次登陆设置
原文链接:http://www.cnblogs.com/linuxk/p/10100431.html