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.