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

登录后的页面

相关推荐
ShiXZ2131 小时前
Java 8 Stream API 实用技巧详解:从入门到精通
java·开发语言
C++、Java和Python的菜鸟2 小时前
第9章 后端Web进阶(AOP)
java·开发语言·前端
东北赵四2 小时前
关于Java泛型的知识点及其相关面试题
java·windows·python
姓蔡小朋友2 小时前
Java线程并发
java·开发语言·python
执笔画流年呀2 小时前
⾃动化测试常⽤函数
java·dubbo
疯狂打码的少年2 小时前
【面向对象】UML概述(基本构造块:事物/关系/图)
java
一水3 小时前
TTFT优化:一个方案的5次推倒重来
java·ai·状态模式
AC赳赳老秦3 小时前
CSDN 技术社区数据采集:OpenClaw 抓取公开技术热帖,生成领域技术热点周报
java·大数据·前端·数据库·python·php·openclaw
磁爆步兵3 小时前
内存分区:程序运行的核心秘密
java·开发语言·jvm
流星白龙4 小时前
【Docker】4.NameSpace空间隔离实战
java·运维·docker