docker run --detach \
--hostname gitlab.mczaiyun.top \
--publish 8443:443 --publish 8090:80 --publish 8022:22 \
--name gitlab \
--restart always \
--volume /root/gitlab/config:/etc/gitlab \
--volume /root/gitlab/logs:/var/log/gitlab \
--volume /root/gitlab/data:/var/opt/gitlab \
--privileged=true \
gitlab/gitlab-ce:latest
参数说明:
–detach : 后台守护方式运行,可以简写为 -d
–hostname :指定服务的域名,当启动之后可以通过这个域名直接访问,就不通过ip端口方式访问,你还需要配置域名解析,比较麻烦。
–publish 443:443 :绑定容器和宿主机的映射
将容器内80端口映射至宿主机8090端口,这是访问gitlab的端口
将容器内22端口映射至宿主机8022端口,这是访问ssh的端口
–restart always :重启方式,当服务宕机或者停电容器会自动重启
–name gitlab :容器名称
–volume /srv/gitlab/config:/etc/gitlab : 数据卷挂在 前面是宿主机目录,后面是容器内的目录
gitlab/gitlab-ce:lastest :镜像名称及版本号
gitlab的容器启动非常慢
docker ps -a 查看所有容器
docker log gitlab 查看指定容器的日志
docker log -f gitlab 查看实时日志
启动成功:
启动之后,你注册用户名需要Root用户同意,你需要在docker容器修改root用户密码
# 进入容器内部
docker exec -it gitlab /bin/bash
# 进入控制台
gitlab-rails console -e production
# 查询id为1的用户,id为1的用户是超级管理员
user = User.where(id:1).first
# 修改密码为123456
user.password='123456'
# 保存
user.save!
# 退出
exit;
有一些人启动容器第一次进入 gitlab界面 就会让你重置gitlab管理员的密码,这个我不知道咋搞得,这是搜出来得方案。