1.拉取镜像

# 镜像有 2g 多,需要等待一段时间
docker pull gitlab/gitlab-ce:latest

2.创建并运行容器

# 创建一个用于存放gitlab数据的目录
mkdir -p /data/docker/gitlab

# 设置全局变量
export GITLAB_HOME=/data/docker/gitlab

# 新建一个docker-compose.yml文件
# external_url后面的ip地址需要修改为自己服务器的内网ip
cat <<EOF | tee /data/docker/gitlab/docker-compose.yml
version: '3.6'
services:
  web:
    image: 'gitlab/gitlab-ce:latest'
    restart: always
    container_name: 'gitlab'
    hostname: 'gitlab'
    environment:
      GITLAB_OMNIBUS_CONFIG: |
        external_url 'http://localhost:8929'
        gitlab_rails['gitlab_shell_ssh_port'] = 2224
    ports:
      - '8929:8929'
      - '2224:22'
    volumes:
      - '$GITLAB_HOME/config:/etc/gitlab'
      - '$GITLAB_HOME/logs:/var/log/gitlab'
      - '$GITLAB_HOME/data:/var/opt/gitlab'
    shm_size: '256m'
EOF

3.运行 gitlab

docker-compose up -d

# 放行8929和2224两个端口
firewall-cmd --add-port={8929,2224}/tcp --permanent
firewall-cmd --reload

4.访问

# 访问前,先查一下gitlab的运行状态
docker logs -f gitlab

# 查看初始密码
docker exec -it gitlab cat /etc/gitlab/initial_root_password

# 访问链接 http://ip:8929   root/初始密码
# 登录后关闭注册功能

Q.E.D.


行走在天地间自由的灵魂