目录
安装必要工具
[root@docker ~]# yum -y install yum-utils device-mapper-persistent-data lvm2
添加Docker-ce镜像源并安装
[root@docker ~]# yum-config-manager --add-repo
http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
[root@docker ~]# yum makecache fast
[root@docker ~]# yum -y install docker-ce
[root@docker ~# yum makecache fast
[root@docker ~]# yum -y install docker-ce
[root@docker ~]# systemctl start docker
[root@docker ~]# systemctl enable docker
Created symlink from /etc/systemd/system/multi-user.target.wants/docker.service to /usr/lib/systemd/system/docker.service.
添加Docker镜像加速
[root@docker ~]# vim /etc/docker/daemon.json
{
"registry-mirrors": ["https://9w1hl6qt.mirror.aliyuncs.com"]
}
[root@docker ~]# systemctl daemon-reload
[root@docker ~]# systemctl restart docker
[root@docker ~]# rpm -qa docker-ce
docker-ce-19.03.8-3.el7.x86_64Docker version 19.03.8, build afacb8b
[root@docker ~]# docker --version
Docker version 19.03.8, build afacb8b
[root@docker ~]#[root@docker ~]# docker version
Client: Docker Engine - Community
Version: 19.03.8
API version: 1.40
Go version: go1.12.17
Git commit: afacb8b
Built: Wed Mar 11 01:27:04 2020
OS/Arch: linux/amd64
Experimental: false
Server: Docker Engine - Community
Engine:
Version: 19.03.8
API version: 1.40 (minimum version 1.12)
Go version: go1.12.17
Git commit: afacb8b
Built: Wed Mar 11 01:25:42 2020
OS/Arch: linux/amd64
Experimental: false
containerd:
Version: 1.2.13
GitCommit: 7ad184331fa3e55e52b890ea95e65ba581ae3429
runc:
Version: 1.0.0-rc10
GitCommit: dc9208a3303feef5b3839f4323d9beb36df0a9dd
docker-init:
Version: 0.18.0
GitCommit: fec3683
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
下载Docker-compose二进制文件并添加执行权限
[root@docker ~]# wget https://github.com/docker/compose/releases/download/1.23.2/docker-compose-`uname -s`-`uname -m`- O /usr/local/bin/docker-compose
[root@docker ~]# chmod +x /usr/local/bin/docker-compose
[root@docker ~]# docker-compose --version
docker-compose version 1.23.2, build 1110ad01
(1)编辑docker-compose的yml文件
[root@docker ~]# mkdir gitlab
[root@docker ~]# cd gitlab/
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.qq.com"
gitlab_rails[‘smtp_port‘] = 465
gitlab_rails[‘smtp_user_name‘] = "2466236198@qq.com" #用自己的邮箱
gitlab_rails[‘smtp_password‘] = "wxw123456"
gitlab_rails[‘smtp_domain‘] = "qq.com"
gitlab_rails[‘smtp_authentication‘] = "login"
gitlab_rails[‘smtp_enable_starttls_auto‘] = true
gitlab_rails[‘smtp_tls‘] = true
gitlab_rails[‘gitlab_email_from‘] = ‘2466236198@qq.com‘
gitlab_rails[‘gitlab_shell_ssh_port‘] = 222
ports:
- ‘80:80‘
- ‘443:443‘
- ‘22:222‘
(2)创建相关目录
[root@docker ~/gitlab]# mkdir /opt/gitlab/{config,data,logs} -p
[root@docker ~/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@docker ~/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@docker ~/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@docker ~/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@docker ~/gitlab]# netstat -tulnp |grep 22
tcp 0 0 0.0.0.0:2222 0.0.0.0:* LISTEN 29144/sshd
tcp6 0 0 :::2222 :::* LISTEN 29144/sshd
tcp6 0 0 :::22 :::* LISTEN 29210/docker-proxy
这里需要注意的是,由于gitlab容器的端口,不能与宿主机冲突,这里需要修改宿主机的sshd服务的监听端口
[root@docker ~/gitlab]# docker-compose ps
Name Command State Ports
---------------------------------------------------------------------------------------------------------------
gitlab /assets/wrapper Up (healthy) 22/tcp, 0.0.0.0:22->222/tcp, 0.0.0.0:443->443/tcp, 0.0.0.0:80->80/tcp
(5)gitlab设置开机启动
[root@docker ~/gitlab]# chmod +x /etc/rc.local
[root@docker ~/gitlab]# ls -l /etc/rc.local
lrwxrwxrwx. 1 root root 13 Jul 7 16:43 /etc/rc.local -> rc.d/rc.local
[root@docker ~/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管理界面
地址:10.0.0..11
账号:root
密码:首次登陆设置
原文:https://www.cnblogs.com/wangxiaopang/p/12707319.html