容器环境安装gitlab

  1. 编写dockerfile文件
    FROM gitlab/gitlab-ce
    USER root
    RUN git clone https://gitlab.com/xhang/gitlab.git
    // 进入克隆仓库得到的gitlab目录
    WORKDIR /gitlab
    // 对比不同生成汉化补丁。
    RUN git diff v10.5.4..v10.5.4-zh > v10.5.4.diff
    // 应用汉化补丁
    COPY v10.5.4.diff /
    WORKDIR /opt/gitlab/embedded/service/gitlab-rails/
    RUN git apply /v10.5.4.diff
    WORKDIR /

//set time zone
ENV TZ=Asia/Shanghai
RUN ln -snf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && echo Asia/Shanghai > /etc/timezone

//port
EXPOSE 443 80 22

2.生成gitlab镜像
sudo docker build -t registry.com.cn/gitlab:10.5.4 -f ./gitlabDockerfile .

3.启动docker容器
docker run -d \
–hostname gitlab.phfund.com.cn \
-p 443:443 -p 8080:80 -p 22:22 \
–name gitlab \
-v /home/gitlab/config:/etc/gitlab \
-v /home/gitlab/logs:/var/log/gitlab \
-v /home/gitlab/data:/var/opt/gitlab \
registry.com.cn/gitlab:10.5.4

启动容器后,如果遇到权限问题(.ssh目录权限),需要再次启动容器并及时使用权限更新命令修正该步骤
docker exec -it gitlab update-permissions

如果仍旧提示其他文件没有权限,需要再次启动容器并在执行到指定步骤之前手工执行修改权限。gitlab在启动时发现权限已经达到要求就不会再次调整
docker exec -it gitlab chgrp gitlab-www /var/opt/gitlab/gitlab-rails/shared
docker exec -it gitlab chgrp gitlab-www /var/opt/gitlab/gitlab-rails/shared/pages

你可能感兴趣的:(git)