原文来自合伙呀  https://hehuoya.com/2019/09/30/gitlab-docker/

 

Docker  for gitlab

 

 brew cask install docker

docker login

docker pull gitlab/gitlab-ce

 

 

docker run -dit \

    --hostname gitlab.com \

    --publish 8443:443 --publish 8081:80 --publish 2222:22 \

    --name gitlab \

    --restart always \

    --volume  /Users/Shared/gitlab:/etc/gitlab \

    --volume /Users/Shared/log/gitlab:/var/log/gitlab \

    --volume /Users/Shared/opt/gitlab:/var/opt/gitlab \

    gitlab/gitlab-ce

 

 is already in use by container

Docker ps -a

Docker rm containeid

 

Error starting userland proxy: Bind for 0.0.0.0:80: unexpected error (Failure EADDRINUSE) 80端口被占用

 ps -ef | grep httpd  查看被占用的端口

 

 docker exec -it gitlab2 /bin/bash

需改域名

vim /etc/gitlab/gitlab.rb

external_url "http://xxx.xxx.xxx.xxx"

gitlab-ctl reconfigure

 

Gitlab 备份:(gitlab 版本号必须一致)

 gitlab-rake gitlab:backup:create

恢复:

# 停止相关数据连接服务

gitlab-ctl stop unicorn

gitlab-ctl stop sidekiq

# 从1393513186编号备份中恢复

gitlab-rake gitlab:backup:restore BACKUP=1393513186

 

# 启动Gitlab

sudo gitlab-ctl start

 

-i 表示以“交互模式”运行容器 

-t 表示容器启动后会进入其命令行

–name 为创建的容器命名

-v 表示目录映射关系,前者是宿主机目录

-e 为容器设置环境变量

-p 表示端口映射

-d 在run后面加上-d参数,则会创建一个守护式容器在后台运行