1//将docker images 下的镜像压缩保存在本地
docker save -o gitlab.tar ….+镜像名称:版本
2//通过scp 将文件传送到另外的主机地址上
scp gitlab.tar root@192.168.1.35:/data
3//需要先通过本机命令docker inspect +运行id 查看挂载目录 “Mounts” 或"Binds"然后将目录通过scp传送到35号主机(最好是同样的目录下面)
scp -r gitlab root@192.168.1.35:/data
5//在35号主机目录下将压缩包恢复为镜像
docker load -i portainer.tar
6//启动在35号主机的gitlab 这边的-v 后的地址就是前面的查看的mounts 和binds的地址
docker run --detach --hostname b3afd58f5d52 --publish 7003:80 --name gitlab --restart always --volume /data/gitlba:/etc/gitlab --volume /data/gitlab/log:/var/log/gitlab --volume /data/gitlab/opt:/var/opt/gitlab 1a873c90ba53
权限问题
日志看到2770
docker exec -it gitlab /bin/bash
chmod 2770 /var/opt/gitlab/git-data/repositories
日志看到
Error executing action
run
on resource
'execute[/opt/gitlab/embedded/service/gitlab-shell/bin/gitlab-keys
check-permissions]
docker exec -it gitlab update-permissions
docker restart gitlab
前面是Error executing+/var/opt/gitlab/redis/redis.socket
地址的就直接
docker exec -it gitlab /bin/bash
chmod 2770 /var/opt/gitlab/redis/redis.socket