CentOS使用docker&&搭建本地Gitlab
安装Docker
卸载旧版本(如果安装过旧版本的话)
yum remove docker docker-common docker-selinux docker-engine
安装需要的软件包, yum-util 提供yum-config-manager功能,另外两个是devicemapper驱动依赖的
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
设置yum源
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
查看所有仓库中所有docker版本,并选择特定版本安装
yum list docker-ce --showduplicates | sort -r
安装docker
#sudo yum install docker-ce-<VERSION_STRING> docker-ce-cli-<VERSION_STRING> containerd.io
#version_string是版本
#sudo yum install docker-ce #由于repo中默认只开启stable仓库,故这里安装的是最新稳定版17.12.0
sudo yum install docker-ce-17.12.0.ce
#启动并加入开机启动
sudo systemctl start docker
sudo systemctl enable docker
docker version
#通过运行hello-world 映像来验证是否正确安装了Docker
sudo docker run hello-world
搭建gitlab仓库
设置国内的阿里镜像加速
https://promotion.aliyun.com/ntms/act/kubernetes.html
- 点击镜像搜索
- 左边镜像容器服务
- 镜像工具
- 镜像加速器
sudo mkdir -p /etc/docker sudo tee /etc/docker/daemon.json <<-'EOF' { "registry-mirrors": ["https://03vqehjx.mirror.aliyuncs.com"] } EOF sudo systemctl daemon-reload sudo systemctl restart docker #一行一行输入
- 配置转发
vim /etc/sysctl.conf #配置转发 net.ipv4.ip_forward=1 #重启服务,让配置生效 systemctl restart network #查看是否成功,如果返回为“net.ipv4.ip_forward = 1”则表示成功 sysctl net.ipv4.ip_forward
- 拉取gitlab镜像
docker pull gitlab/gitlab-ce
- 启动gitlab
sudo docker run --detach --hostname gitlab.example.com --publish 10443:443 --publish 1080:1080 --publish 1022:22 --name gitlab --restart always --volume /usr/local/docker/gitlab/config:/etc/gitlab --volume /usr/local/docker/gitlab/logs:/var/log/gitlab --volume /usr/local/docker/gitlab/data:/var/opt/gitlab gitlab/gitlab-ce:latest 第二次: docker run -d -p 443:443 -p 80:80 -p 222:22 --name gitlab --restart always -v /home/gitlab/config:/etc/gitlab -v /home/gitlab/logs:/var/log/gitlab -v /home/gitlab/data:/var/opt/gitlab gitlab/gitlab-ce #这里放上移除命令 docker ps -a 查看所有容器 docker rm e3274a72e8d6
-hostname gitlab.example.com \ # 设置主机名或域名
-publish 10443:443 --publish 1080:1080 --publish 1022:22 \ #本地端口的映射
-name gitlab \ # gitlab-ce 的镜像运行成功的容器命名为gitlab
-restart always \ # 设置重启方式,always 代表一直开启,即开机自启
-volume 分别将 gitlab 的配置文件、日志文件、数据文件目录映射到 /usr/local/docker/gitlab的相应目录中
查看所有容器
docker ps -a
开启端口
firewall-cmd --list-all # 开启1080端口 firewall-cmd --zone=public --add-port=1080/tcp --permanent # 重启防火墙才能生效 systemctl restart firewalld
网址ip:1080
root默认密码在文件夹中:
/usr/local/docker/gitlab/config/initial_root_password /home/gitlab/config
进入后修改密码:
menu->admin->users->eidt->password->save changes项目,clone的时候发现地址http://gitlab.example.com/root/test.git
找到配置文件地址
cd /usr/local/docker/gitlab/config
找到gitlab.rb vim gitlab.rb
搜索这行# external_url ‘GENERATED_EXTERNAL_URL’
取消注释然后改成自己IP
external_url ‘http://192.168.2.2:1080'
使配置生效
docker exec gitlab gitlab-ctl reconfigure
或重启docker
systemctl restart docker
重启gitlab
docker restart gitlab
gitlab操作
- 登录创建用户,项目
- 进入git 设置ssh
ssh-keygen -t rsa -C 'xxx@xxx.com' 然后进入gitlab,找到sshkeys,添加进去
- 克隆项目
创建文件夹, $ git config --global user.name "你的名字" $ git config --global user.email "你的邮箱" $ git clone 项目地址 找到项目文件,放到新克隆的文件夹里面 git add . git commit -m "message" git push origin main 至此,文件上传到gitlab