1、安装docker
tar -xzf docker-20.10.7-arm-64.tgz
cd docker/ && cp * /usr/bin/

cat > /usr/lib/systemd/system/docker.service <<EOF
[Unit]
Description=Docker Application Container Engine
Documentation=https://docs.docker.com
After=network-online.target firewalld.service
Wants=network-online.target
[Service]
Type=notify
ExecStart=/usr/bin/dockerd
ExecReload=/bin/kill -s HUP \$MAINPID
LimitNOFILE=infinity
LimitNPROC=infinity
TimeoutStartSec=0
Delegate=yes
KillMode=process
Restart=on-failure
StartLimitBurst=3
StartLimitInterval=60s

[Install]
WantedBy=multi-user.target
EOF

chmod +x /usr/lib/systemd/system/docker.service
systemctl daemon-reload
mkdir /etc/docker


cat > /etc/docker/daemon.json <<EOF
{
  "registry-mirrors": [
  	  "https://registry.docker-cn.com",
      "https://docker.m.daocloud.io",
      "https://docker.nju.edu.cn",
      "https://dockerproxy.com",
      "https://registry.docker-cn.com",
      "https://docker.mirrors.ustc.edu.cn",
      "https://hub-mirror.c.163.com",
      "https://mirror.baidubce.com",
      "https://ccr.ccs.tencentyun.com",
      "https://x9r52uz5.mirror.aliyuncs.com",
      "https://dockerhub.icu",
      "https://docker.chenby.cn",
      "https://docker.1panel.live",
      "https://docker.awsl9527.cn",
      "https://docker.anyhub.us.kg",
      "https://dhub.kubesre.xyz"
  ],
  "exec-opts": ["native.cgroupdriver=systemd"],
  "insecure-registries": ["xxx.xxx.cn"],
  "data-root": "/data/docker"
}
EOF

systemctl start docker && systemctl status docker && systemctl enable docker
2、安装docker-compose
mv docker-compose-Linux-aarch64 docker-compose
mv docker-compose /usr/local/bin
chmod +x /usr/local/bin/docker-compose
docker-compose -v
3、下载gitlab镜像
docker pull --platform linux/arm64 yrzr/gitlab-ce-arm64v8
4、创建目录
mkdir -p /data/gitlab/{config,data,logs}
mkdir /usr/local/gitlab
5、启动gitlab
1)docker engine启动(备用优先2)docker-compose)
docker run -d \
  --hostname 192.168.159.88 \
  --publish 443:443 --publish 80:80 --publish 8422:22 \
  --name gitlab \
	--restart always \
  -v /data/gitlab/config:/etc/gitlab \
  -v /data/gitlab/logs:/var/log/gitlab \
  -v /data/gitlab/data:/var/opt/gitlab \
  --shm-size 512m \
  yrzr/gitlab-ce-arm64v8
2)docker-compose启动(推荐)
cd /usr/local/gitlab
cat > docker-compose.yml <<EOF
version: '3.8'
services:
  gitlab:
    container_name: gitlab
    image: 'yrzr/gitlab-ce-arm64v8'
    privileged: true
    restart: always
    hostname: '192.168.159.88'
    ports:
      - '80:80'
      - '443:443'
      - '2222:22'
    volumes:
      - '/data/gitlab/config:/etc/gitlab'
      - '/data/gitlab/logs:/var/log/gitlab'
      - '/data/gitlab/data:/var/opt/gitlab'
    shm_size: '8192m'
EOF
docker-compose -d up
#启动很慢
docker-compose ps
docker-compose logs gitlab
6、访问gitlab
http://192.168.159.88
7、查看账密
账户:root
密码:docker exec -it gitlab grep 'Password:' /etc/gitlab/initial_root_password