戴轻花就不老花 發表於 2017-3-22 16:09:12

centos7使用docker部署gitlab-ce-zh应用详解

<p><strong>1.国内拉取镜像比较慢,所以这里采用DaoCloud源。</strong></p>
<div class="jb51code">
<pre class="brush:bash;">
# curl -sSL https://get.daocloud.io/daotools/set_mirror.sh | sh -s http://43049fd0.m.daocloud.io</pre>
</div>
<p><strong>2.拉取镜像</strong></p>
<div class="jb51code">
<pre class="brush:bash;">
# docker pull twang2218/gitlab-ce-zh</pre>
</div>
<p><strong>3.启动容器</strong></p>
<div class="jb51code">
<pre class="brush:bash;">
docker run --detach \
    --hostname git.xiaohuruwei.com \
    --publish 8443:443 --publish 8080:80 --publish 2222:22 \
    --name gitlab \
    --restart always \
    --volume /srv/gitlab/config:/etc/gitlab \
    --volume /srv/gitlab/gitlab/logs:/var/log/gitlab \
    --volume /srv/gitlab/gitlab/data:/var/opt/gitlab \
    twang2218/gitlab-ce-zh:latest</pre>
</div>
<p><strong>4.命令参数解释</strong></p>
<div class="jb51code">
<pre class="brush:bash;">
--hostname
指定容器中绑定的域名,会在创建镜像仓库的时候使用到,这里绑定git.xiaohuruwei.com

--publish
端口映射,冒号前面是宿主机端口,后面是容器expose出的端口

--volume
volume 映射,冒号前面是宿主机的一个文件路径,后面是容器中的文件路径</pre>
</div>
<p><strong>5.本地访问地址</strong></p>
<div class="jb51code">
<pre class="brush:bash;">
git.xiaohuruwei.com</pre>
</div>
<p><strong>注:首次打开时,需要设置用密码。默认用户名为root。</strong></p>
<p><strong>ssh方式访问</strong></p>
<p>因为是使用docker部署的,通过ssh方式(比如git clone git@git.xiaohuruwei.com)访问会有两层认证:</p>
<p>一层是freelancer服务器的认证</p>
<p>另一层是gitlab的认证。</p>
<p>后者需要使用ssh-key</p>
<p>前者可能需要ssh本身的反向代理(现在使用的nginx不支持除http,https以外的反向代理),</p>
<p>现在发现使用端口转发的形式比较困难,但是可以改变默认的gitlab的ssh端口为非标准端口:</p>
<p>直接修改gitlab配置文件中的变量:</p>
<div class="jb51code">
<pre class="brush:bash;">
gitlab_shell_ssh_port = 2222</pre>
</div>
<p>然后重新启动docker容器,就可以在web界面中看到相应的ssh地址发生了改变:ssh://git@git.xiaohuruwei.com:2222/root/test.git 然后就直接可以继续使用git clone来继续操作了</p>
頁: [1]
查看完整版本: centos7使用docker部署gitlab-ce-zh应用详解