docker+docker-compose+gitlab

Docker 安装

下载

下载docker二级制文件docker-20.10.9.tgz

https://download.docker.com/linux/static/stable/x86_64/docker-20.10.9.tgz

上传到/data目录

解压文件

cd /data

tar -zxf docker-20.10.9.tgz

移动解压出来的文件到/usr/bin目录

mv docker/* /usr/bin/

创建docker服务

cat > /etc/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

the default is not to use systemd for cgroups because the delegate issues still

exists and systemd currently does not support the cgroup feature set required

for containers run by docker

ExecStart=/usr/bin/dockerd --graph /data/docker -H tcp://0.0.0.0:2375 -H unix://var/run/docker.sock

ExecReload=/bin/kill -s HUP $MAINPID

Having non-zero Limit*s causes performance problems due to accounting overhead

in the kernel. We recommend using cgroups to do container-local accounting.

LimitNOFILE=infinity

LimitNPROC=infinity

LimitCORE=infinity

Uncomment TasksMax if your systemd version supports it.

Only systemd 226 and above support this version.

#TasksMax=infinity

TimeoutStartSec=0

set delegate yes so that systemd does not reset the cgroups of docker containers

Delegate=yes

kill only the docker process, not all processes in the cgroup

KillMode=process

restart the docker process if it exits prematurely

Restart=on-failure

StartLimitBurst=3

StartLimitInterval=60s

Install

WantedBy=multi-user.target

EOF

设置执行权限 并启动docker服务

chmod +x /etc/systemd/system/docker.service

启动服务,并设置开机启动

systemctl daemon-reload && systemctl start docker && systemctl enable docker.service

验证服务器启动

systemctl status docker

安装docker-compose

上传docker-compose-linux-x86_64

配置执行权限

chmod +x docker-compose-linux-x86_64

重命名为docker-compose并移动到/usr/local/bin/目录

mv docker-compose-linux-x86_64 /usr/local/bin/docker-compose

验证

docker-compose -v

部署Gitlab

上传镜像

进入镜像目录,加载docker镜像

cd /data/gitlab/docker-compose/

docker load -I gitlab16.2.0.tar

修改配置文件

使用docker-compose通过yml配置文件启动容器

gitlab.yml文件内容

version: '3.8'

services:

web:

image: 'gitlab/gitlab-ce:16.2.0-ce.0' # 使用GitLab社区版镜像,也可使用gitlab/gitlab-ee:latest(企业版)

restart: always

user: 'root' # 设置容器中运行的用户为root用户

#hostname: 'gitlab' # 替换成你的GitLab主机名

container_name: 'gitlab'

environment:

GITLAB_OMNIBUS_CONFIG: |

external_url 'http://192.168.200.160' # 替换成你的GitLab访问URL

ports:

  • '80:80'

  • '443:443'

  • '2222:22' # 用于SSH访问

volumes:

  • '/data/gitlab/gitlab_home/config:/etc/gitlab'

  • '/data/gitlab/gitlab_home/logs:/var/log/gitlab'

  • '/data/gitlab/gitlab_home/data:/var/opt/gitlab'

privileged: true

启动容器

docker-compose -f gitlab.yml up -d

获取初始密码登录

等待Web界面启动

获取初始化密码

cat /data/gitlab/gitlab_home/config/initial_root_password

登录后的页面

相关推荐
28岁青春痘老男孩4 小时前
JDK8+SpringBoot2.x 升级 JDK 17 + Spring Boot 3.x
java·spring boot
方璧4 小时前
限流的算法
java·开发语言
元Y亨H4 小时前
Nacos - 服务注册
java·微服务
曲莫终4 小时前
Java VarHandle全面详解:从入门到精通
java·开发语言
独自归家的兔4 小时前
Spring Cloud核心架构组件深度解析(原理+实战+面试高频)
spring cloud·面试·架构
一心赚狗粮的宇叔4 小时前
中级软件开发工程师2025年度总结
java·大数据·oracle·c#
奋进的芋圆5 小时前
DataSyncManager 详解与 Spring Boot 迁移指南
java·spring boot·后端
计算机程序设计小李同学5 小时前
个人数据管理系统
java·vue.js·spring boot·后端·web安全
牛奔5 小时前
Docker Compose 两种安装与使用方式详解(适用于 Docker 19.03 版本)
运维·docker·云原生·容器·eureka
小途软件5 小时前
用于机器人电池电量预测的Sarsa强化学习混合集成方法
java·人工智能·pytorch·python·深度学习·语言模型