一、基础环境简述,麒麟v10系统,arm-kunpeng920
1、官网下载二进制包
https://download.docker.com/linux/static/stable/aarch64/
2、安装脚本
把docker安装包和脚本放到/opt目录下,执行脚本vim /opt/install_docker.sh
#!/bin/sh
# 设置变量
#要安装的docker版本
DOCKER_INSTALL_VERSION=26.0.0
#本地仓库的域名或者hosts指向的地址,避免无法访问仓库
REGISTRY_URL="pub.weihu.com"
# 卸载docker
yum remove -y docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
# 使用 二进制 方式安装 docker
systemctl start docker && systemctl status docker | grep "running" > /dev/null && DOCKER_VERSION=`docker info | grep "Server Version" | awk '{print $3}'`
if [ "$DOCKER_VERSION" == "$DOCKER_INSTALL_VERSION" ] ; then
echo "Docker has been installed , Version is $DOCKER_VERSION , Exit the script."
exit 0
else
echo "Docker is not $DOCKER_INSTALL_VERSION , Now install version $DOCKER_INSTALL_VERSION."
cd /opt
tar zxvf docker-${DOCKER_INSTALL_VERSION}.tgz
chown -R root.root docker/*
\cp docker/* /usr/bin/
rm -fr docker/ docker-${DOCKER_INSTALL_VERSION}.tgz
fi
# 配置系统级用于启动的文件
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
# 重新加载 daemon 用于启动 docker
systemctl daemon-reload
# 重新启动 docker 刷新出 /etc/docker 目录
systemctl restart docker
# 修改 docker 配置文件
#修改 docker 配置文件 /etc/docker/daemon.json --注意修改本地仓库地址,或者沿用这个地址的话,配置下hosts,使用网络dockerhup去掉insecure-registries这一行
cat > /etc/docker/daemon.json << EOF
{
"insecure-registries": ["http://${REGISTRY_URL}:5000"],
"max-concurrent-downloads": 10,
"log-driver": "json-file",
"log-level": "warn",
"log-opts": {
"max-size": "10m",
"max-file": "3"
},
"data-root": "/data/docker",
"exec-opts": ["native.cgroupdriver=cgroupfs"],
"storage-driver": "overlay2",
"storage-opts": [
"overlay2.override_kernel_check=true"
]
}
EOF
# 重载配置文件启动docker,并设置为开机自启
systemctl daemon-reload
systemctl restart docker
systemctl enable docker
sh /opt/install_docker.sh 执行一键安装脚本
3、下载docker极狐镜像,国产系统使用官方镜像一直在重启,国产还是对国内本身支持好点
①、docker pull registry.gitlab.cn/omnibus/gitlab-jh:latest 下载基础镜像
②、docker tar gitlab.tar 镜像id 打包镜像为tar包,将打好的tar包导入到现有容器
③、docker load -i gitlab.tar 导入
④、提前创建挂载目录mkdir -p /data/gitlab/{config,logs,data}
⑤、启动容器
docker run --detach --hostname 192.168.1.133 --publish 443:443 --publish 80:80 --publish 30022:22 --name gitlab --restart always --volume /data/gitlab/config:/etc/gitlab --volume /data/gitlab/logs:/var/log/gitlab --volume /data/gitlab/data:/var/opt/gitlab --shm-size 256m registry.gitlab.cn/omnibus/gitlab-jh:latest
启动完成即可输入ip+端口访问gitlab
4、进入容器docker exec -it 容器id /bin/bash
登录账号为root
查看gitlab密码 cat /etc/gitlab/initial_root_password
补充内容,如需容器打成镜像docker commit gitlab gitlab:v1