最近团队的代码同步服务器中了万恶的WannaCry病毒,搞得我"欲哭"无泪——安装Oracle、Gitlab和重新恢复数据,绝对是一件苦差事。
为了减轻痛苦,并且杜绝以后再发生类似事情,做了两个小决定:
- 将服务器系统换成CentOS
- 改用Docker来部署应用
安装docker
在Linux下安装docker是再简单不过的一件事情,CentOS下就是一条指令:
yum install docker
安装gitlab
在开始安装gitlab之前,我们先要为它准备好保存数据的目录(注意:我这里docker中的GitLab数据、日志和配置文件,是保存在/data下的——没有放在docker容器中)。
mkdir -p /data/gitlab/data
mkdir -p /data/gitlab/logs
mkdir -p /data/gitlab/config
再执行以下指令下载、安装、运行Gitlab:
sudo docker run --detach \
--hostname hostname.example.com:1234 \
--publish 443:443 --publish 80:80 --publish 22:22 \
--name gitlab \
--restart always \
--volume /data/gitlab/config:/etc/gitlab:Z \
--volume /data/gitlab/logs:/var/log/gitlab:Z \
--volume /data/gitlab/data:/var/opt/gitlab:Z \
gitlab/gitlab-ce:lates
注意:
- 使用时,一定要注意将以上“ --hostname hostname.example.com:1234”行的“hostname.example.com:1234”换成你自己主机的“域名/IP:端口”。
- 上述是在使用selinux的情况下的指令。所以请在使用前,执行以下指令查看一下selinux是否启用:
/usr/sbin/sestatus -v
分区小技巧
开始分区
在分区之前,一般要执行fdisk -l 指令,看下分区情况,再进行分区操作(从分区情况图可以看出,我这里的xvdb是空白磁盘,可以用来分区加载到/data下放置GitLab的数据的)。
开始分区
分区指令也是fdisk,但是要跟着设备路径,比如:
fdisk /dev/xvdb
在fdisk命令行下,可以输入m查看帮助信息。具体分区步骤这里不再赘述。
格式化为xfs分区
执行以下指令格式化:
mkfs.xfs /dev/xvdb1
加载新分区
编辑分区加载表/etc/fstab:
vim /etc/fstab
加入以下行:
/dev/xvdb1 /data xfs defaults 0 0
执行以下指令加载分区:
mkdir /data
mount -a