docker搭建gitlab-ce

无互联网环境下,在外网docker pull [image],docker save [image] > [image].tar,在局域网下docker load < [image].tar
首先先创建一个空的容器卷,为了数据备份迁移方便:

sudo docker pull ubuntu;
sudo docker run \
    --volume /home/fay/gitlabdb/gitlab/config:/etc/gitlab \
    --volume /home/fay/gitlabdb/gitlab/logs:/var/log/gitlab \
    --volume /home/fay/gitlabdb/gitlab/data:/var/opt/gitlab \
    --name fay-gitlabdb ubuntu /bin/bash

然后创建使用上面gitlabdb数据卷的gitlab-ce容器(会将gitlabdb挂载到该容器中):

sudo docker pull gitlab/gitlab-ce;
sudo docker run --detach \
    --hostname 0.0.0.0 \
    --publish 10443:443 --publish 80:80 --publish 1022:22 \
    --name fay-gitlabce \
    --restart always \
    --volumes-from gitlabdb \
    gitlab/gitlab-ce:latest

数据备份:

sudo docker run --volumes-from gitlabdb \
    -v $(pwd):/backup ubuntu \
    tar cvf /backup/backup.tar \
    /etc/gitlab /var/log/gitlab /var/opt/gitlab

数据迁移:

sudo docker pull busybox
sudo docker run \
    --volume /home/fay/gitlabdb/gitlab/config:/etc/gitlab \
    --volume /home/fay/gitlabdb/gitlab/logs:/var/log/gitlab \
    --volume /home/fay/gitlabdb/gitlab/data:/var/opt/gitlab \
    --name fay-gitlabdb ubuntu /bin/bash
sudo docker run --volumes-from gitlabdb \
    -v $(pwd):/backup busybox \
    tar xvf /backup/backup.tar
Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐