在我们安装好Docker以后,就可以在Docker中安装我们要安装的服务了,比如本文中,我们安装GitLab服务。

安装Docker

搜索GitLab镜像

docker search gitlab

在这里插入图片描述

拉取最新版本的gitlab镜像到本地

docker pull gitlab/gitlab-ce

在这里插入图片描述
等待下载

创建gitlab的配置(etc)、日志(log)、数据(data)目录

为了方便日后升级,因此这三个目录要放在docker外面;另外gitlab挂载宿主机目录后,可以映射配置文件、数据文件、日志文件到宿主机,后续可以直接在宿主机查看,方便操作。

mkdir -p /data/docker/gitlab/{etc,data,log}

创建gitlab容器

docker run \
 -d --name qz-gitlab \
 --hostname 49.232.70.33 \
 --restart always \
 -p 9090:9090 \
 -v /data/docker/gitlab/etc:/etc/gitlab \
 -v /data/docker/gitlab/data:/var/opt/gitlab \ 
 -v /data/docker/gitlab/log:/var/log/gitlab gitlab/gitlab-ce

-d(–detach):后台运行;
–name:设置容器的名字;
–hostname:服务器的ip地址。如果端口是80可以只配置IP,但如果-p 9090:9090,则hostname也需要设置成:49.232.70.33:9090
-p 9090:9090,这两个端口映射需要保持一致,如果不一致会导致无法克隆项目代码;
–hostname:设置容器内主机的名字,就是clone代码时的地址;
如果服务器ip发生了变化,导致无法pull/push代码,我们只需要通过:vi /data/docker/gitlab/etc/gitlab.rb命令编辑配置文件中的external_url,将其设置为:http://当前服务器ip,然后用:docker restart qz-gitlab(或容器ID)重启gitlab容器即可;
–restart:设置容器的重启策略,可选项: no | on-failure[:max-retries] | always | unless-stopped ;
-v(–volume):挂载目录,形式:[HOST-DIR:]CONTAINER-DIR;

开启9090端口

查看已开放的端口:

firewall-cmd --list-ports

9090端口加入防火墙访问白名单中:

firewall-cmd --permanent --zone=public --add-port=9090/tcp

使用命令使其生效:

firewall-cmd --reload

访问gitlab

http://49.232.70.33:9090/
在这里插入图片描述

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐