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

登录后的页面

相关推荐
我不是程序猿儿1 小时前
【C#】 lock 关键字
java·开发语言·c#
tmacfrank2 小时前
网络编程中的直接内存与零拷贝
java·linux·网络
weixin_472339463 小时前
Maven 下载安装与配置教程
java·maven
Magnum Lehar4 小时前
3d游戏引擎EngineTest的系统实现3
java·开发语言·游戏引擎
就叫飞六吧4 小时前
Spring Security 集成指南:避免 CORS 跨域问题
java·后端·spring
Mcworld8574 小时前
java集合
java·开发语言·windows
天黑请闭眼4 小时前
IDEA:程序编译报错:java: Compilation failed: internal java compiler error
java·intellij-idea
苍煜5 小时前
Maven构建流程详解:如何正确管理微服务间的依赖关系-当依赖的模块更新后,我应该如何重新构建主项目
java·微服务·maven
冼紫菜5 小时前
[特殊字符]CentOS 7.6 安装 JDK 11(适配国内服务器环境)
java·linux·服务器·后端·centos
isyangli_blog6 小时前
(1-4)Java Object类、Final、注解、设计模式、抽象类、接口、内部类
java·开发语言