首页
Flask
Flask部署
Git
linux
Python
UPS
VPN
Web
Windows
其他
使用 Docker 安装 GitLab CE
删除
×
是否确定删除!
<br> GitLab 的官方文档 https://docs.gitlab.com/omnibus/docker/README.html,可以根据 GitLab CE 镜像的版本来选择不同版本的文档。 --- #### 拉取镜像 GitLab CE 的 Docker 镜像可以在这里找到:https://registry.hub.docker.com/r/gitlab/gitlab-ce/ 它有好多个标签,这里我使用的是目前最新的稳定版:"13.6.3-ce.0",也就是"latest" 使用如下命令来拉取该镜像: ``` docker pull gitlab/gitlab-ce:latest ``` GitLab CE 的镜像特别大,差不多900M,所以最好使用镜像加速服务,否则 Docker 官方镜像地址的境内网络速度会让你怀疑人生的。 --- #### 新建持久化目录 使用 Docker 来部署时最好将一些重要的目录映射到本地磁盘中方便持久化,在 GitLab 的文档中也是建议新建一个专供 GitLab 容器持久化存储的目录。这里呢,我会在用户目录下新建一个 GitLab 的独立目录: ``` mkdir -p /root/docker/gitlab ``` 然后将该目录声明为一个环境变量,标识该目录为 GitLab 容器的主目录,方便后期的命令执行: ``` export GITLAB_HOME=/root/docker/gitlab ``` 接着我会在该目录下接着新建一些目录: ``` mkdir $GITLAB_HOME/data mkdir $GITLAB_HOME/logs mkdir $GITLAB_HOME/config ``` 第一行是新建了一个 GitLab 数据存储目录,第二行是日志存储目录,第三行是配置存储目录。 --- #### 运行容器 接下来就是使用 docker run 命令来运行一个 GitLab CE 容器: ``` docker run --detach \ --hostname gitlab.example.com \ --publish 9443:443 --publish 9080:80 --publish 9022:22 \ --name gitlab \ --restart always \ --volume $GITLAB_HOME/config:/etc/gitlab \ --volume $GITLAB_HOME/logs:/var/log/gitlab \ --volume $GITLAB_HOME/data:/var/opt/gitlab \ gitlab/gitlab-ce:latest ``` ``` docker run -d \ -h gitlab.example.com \ -p 9443:443 -p 9080:80 -p 9022:22 \ --name gitlab \ --restart always \ -v $GITLAB_HOME/config:/etc/gitlab \ -v $GITLAB_HOME/logs:/var/log/gitlab \ -v $GITLAB_HOME/data:/var/opt/gitlab \ gitlab/gitlab-ce:latest ``` 第一行表示将该容器放置在后台运行。 第二行表示给容器设置一个主机名。 第三行表示将本地的9443、9080和9022端口分别映射到容器中的443、80和22端口。本地的端口可以根据自己的需要来更改。 第四行表示给这个容器起一个名字,后面可以通过该名字来控制这个容器。 第五行表示该容器会开机自起。 第六行表示将本地的 "$GITLAB_HOME/config"目录映射为容器中的"/etc/gitlab"目录。 第七行表示将本地的 "$GITLAB_HOME/logs"目录映射为容器中的"/var/log/gitlab"目录。 第八行表示将本地的 "$GITLAB_HOME/data"目录映射为容器中的"/var/opt/gitlab"目录。 第九行则是指定使用哪一个镜像和标签。 运行该命令后会返回一个容器ID,我们可以使用该容器的名字或者ID来控制这个容器: ``` # 启动 docker start gitlab # 停止 docker stop gitlab # 重启 docker restart gitlab # 开机自起 docker enable gitlab # 取消开机自起 docker disbale gitlab ``` 启动了之后呢就可以通过映射出来的本地9080端口来访问 GitLab,一开始会让你设置一下管理员用户的密码,设置了之后就可以使用root用户名和刚才设置的密码来登陆GitLab。 更改配置修改/config/gitlab.rb 修改external_url 更改gitlab的外部访问地址 ### docker 修改端口映射 1.提交一个运行中的容器为镜像 ``` docker commit [containerid] [new_imagename] sudo docker commit -a "赵江哲" -m "更改摘要" 容器ID 容器名:tag ``` 2.运行新建的镜像并添加端口映射 重新运行docker run 命令,修改端口号。 ---