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
登录后的页面