Step 1: 拉取镜像
docker pull gitlab/gitlab-ce
Step 2: 创建挂载路径
mkdir -p /wwwroot/gitlab/config
mkdir -p /wwwroot/gitlab/logs
mkdir -p /wwwroot/gitlab/data
Step 3: 运行镜像
docker run --detach \
> --hostname 10.83.43.38 \
> --publish 8443:443 --publish 8283:80 \
> --name gitlab \
> --restart always \
> --volume /opt/gitlab/config:/etc/gitlab \
> --volume /opt/gitlab/logs:/var/log/gitlab \
> --volume /opt/gitlab/data:/var/opt/gitlab \
> --privileged=true \
> gitlab/gitlab-ce:latest
Step 4: 参数解释
--hostname gitlab.example.com: 设置主机名或域名
--publish 8443:443:将http:443映射到外部端口8443
--publish 8880:80:将web:80映射到外部端口8880
--name gitlab: 运行容器名
--restart always: 自动重启
--volume /wwwroot/gitlab/config:/etc/gitlab: 挂载目录
--volume /wwwroot/gitlab/logs:/var/log/gitlab: 挂载目录
--volume /wwwroot/gitlab/data:/var/opt/gitlab: 挂载目录
--privileged=true 使得容器内的root拥有真正的root权限。否则,container内的root只是外部的一个普通用户权限
Step 5: 查看状态
docker ps -a
gitlab/gitlab-ce:latest "/assets/wrapper" 11 days ago Up 5 days (healthy)
可以看到 GitLab 已经在运行了,有一个属性 STATUS 为 health: starting,说明 gitlab 的服务正在启动中,还没有启动完毕。等这个状态变成 healthy 时则说明已经部署完成,可以访问了