目录

一、安装及配置docker

1、卸载docker相关包及删除相关配置文件

2、安装二进制docker

1.下载软件包

2.解压

3.修改镜像加速地址

4.修改profile文件

5.启动docker

6.docker常用命令

二、安装并启动gitlab镜像

1.安装gitlab镜像

1.查询满足使用需求的gitlab版本

 2.下载镜像

2.运行gitlab及修改配置

1.运行gitlab

2.配置

3.验证测试

4.浏览器测试

3.修改外部访问端口(docker对gitlab容器的映射)

1.方法1:删除原有容器,重建新容器

2. 方法2 :修改容器配置文件,重启docker服务

3. 方法3: docker commit新构镜像

4.密码

1.默认密码

2.修改root密码


一、安装及配置docker

1、卸载docker相关包及删除相关配置文件

apt-get autoremove docker docker-ce docker-engine  docker.io  containerd runc
apt-get autoremove docker-ce-*
dpkg -l | grep docker
dpkg -l |grep ^rc|awk '{print $2}' |sudo xargs dpkg -P
rm -rf /etc/systemd/system/docker.service.d
rm -rf /var/lib/docker/*

docker --version #验证是否卸载成功
reboot #重启服务器

2、安装二进制docker

1.下载软件包

wget  -c 0 https://download.docker.com/linux/static/stable/aarch64/docker-19.03.9.tgz

2.解压

tar -zxvf docker-19.03.9.tgz -C /usr/bin

3.修改镜像加速地址

vim /etc/docker/daemon.json

{
  "registry-mirrors": ["https://docker.mirrors.ustc.edu.cn"]
}

4.修改profile文件

# vim /etc/profile    #末尾添加如下代码

export PATH=/usr/bin/docker:$PATH

# source /etc/profile #刷新profile文件

5.启动docker

dockerd --data-root=/var/lib/docker &    #启动docker

docker version    #查询版本验证docker是否安装成功

6.docker常用命令

docker常用命令

二、安装并启动gitlab镜像

1.安装gitlab镜像

1.查询满足使用需求的gitlab版本

Docker官方仓库

yrzr/gitlab-ce-arm64v8,这个版本是arm64架构

 2.下载镜像

root@kylin:~# docker pull yrzr/gitlab-ce-arm64v8

2.运行gitlab及修改配置

1.运行gitlab

root@kylin:~# docker run -d \
--restart always \                               #容器停止后的重启策略: 容器退出时总是重启
--name gitlab \
--privileged \
--memory 4096M \
-p 1022:22 -p 1080:1080 -p 443:443 \               #端口,左边为宿主机,右边为容器
--hostname gitlab.example.com \                  #访问域名,可以后续修改
--env GITLAB_OMNIBUS_CONFIG="nginx['redirect_http_to_https'] = true; " \
-v /root/software/gitlab/etc:/etc/gitlab:z \     #数据卷挂载,左边为宿主机,右边为容器
-v /root/software/gitlab/log:/var/log/gitlab:z \
-v /root/software/gitlab/data:/var/opt/gitlab:z \
yrzr/gitlab-ce-arm64v8:latest

2.配置

        gitlab上创建项目的时候,生成项目的URL访问地址是按容器的hostname来生成的,也就是容器的id。作为gitlab服务器,我们需要一个固定的URL访问地址,于是需要配置/etc/gitlab/gitlab.rb

        下面的配置文件需要在容器内修改,请勿挂载到宿主机的文件上进行修改,否则可能会出现配置更新不到容器内或者延迟更新到容器内,导致启动成功,却无法访问。

root@kylin:~# docker exec -it gitlab /bin/bash           #进容器内部
root@gitlab:/# vi /etc/gitlab/gitlab.rb                  #修改配置文件

#gitlab访问地址,可以写域名。如果端口不写的话默认为80端口,这里的端口号要与启动容器时的端口映射相对应
external_url 'http://192.168.5.52:1080'    
#ssh主机ip
gitlab_rails['gitlab_ssh_host'] = '192.168.5.52'
#ssh连接端口
gitlab_rails['gitlab_shell_ssh_port'] = 1022


root@gitlab:/# gitlab-ctl reconfigure    # 让配置生效
root@gitlab:/# gitlab-ctl restart        # 重启gitlab

3.验证测试

root@kylin:~# curl http://localhost:1080
<html><body>You are being <a href="http://localhost:1080/users/sign_in">redirected</a>.</body></htm

4.浏览器测试

浏览访问:http://192.168.5.52:1080

麒麟v10安装mysql 麒麟V10安装docker_kylin

3.修改外部访问端口(docker对gitlab容器的映射)

1.方法1:删除原有容器,重建新容器

docker rm gitlab 或 容器id #删除容器
# 构建新的容器,命令参照上面,注意修改相应端口号

优点:简单快捷,测试环境使用较多

缺点:若为数据库镜像,重建后再重新配置一次比较麻烦

2. 方法2 :修改容器配置文件,重启docker服务

root@kylin:~# docker stop f9c #停止容器
root@kylin:~# pkill -9 docker #停掉docker
root@kylin:~# ps aux | grep docker #确认docker进程是否被关闭
root@kylin:~# cat /var/lib/docker/containers/容器ID/hostconfig.json #参照下图

麒麟v10安装mysql 麒麟V10安装docker_运维_02

 如上图所示,文件中其中一项是PortBindings:

  • 1080/tcp对应的是容器内部的80端口
  • HostPort对应的是映射到宿主机的端口8080
  • 按照需求修改端口,然后启动docker服务,再重启容器即可
root@kylin:~# dockerd --data-root=/var/lib/docker &
root@kylin:~# docker restart gitlab
#重启后需要等待几分钟,和硬件配置有直接关系
  • 优点:这个方法的优点是没有副作用,操作简单
  • 缺点:是需要重启整个docker服务,如果在同一个宿主机上运行着多个容器服务,会影响其他容器服务

注意:一定要先停掉docker修改配置才能成功。

3. 方法3: docker commit新构镜像

        把一个容器的文件改动和配置信息commit到一个新的镜像;把容器所有的文件改动和配置信息导入成一个新的docker镜像,然后用这个新的镜像重起一个容器,这对之前的容器不会有任何影响。

  • 停止docker 容器
docker stop gitlab
  • commit该docker容器
docker commit gitlab new_gitlab:tag
  • 重新启动一个容器
docker run ...

优点:不会影响宿主机上的其他容器

缺点:管理起来显得比较乱,不如方法2直观

4.密码

1.默认密码

root@kylin:~# docker exec -it gitlab bash
root@gitlab:/# cat /etc/gitlab/initial_root_password 
# WARNING: This value is valid only in the following conditions
#          1. If provided manually (either via `GITLAB_ROOT_PASSWORD` environment variable or via `gitlab_rails['initial_root_password']` setting in `gitlab.rb`, it was provided before database was seeded for the first time (usually, the first reconfigure run).
#          2. Password hasn't been changed manually, either via UI or via command line.
#
#          If the password shown here doesn't work, you must reset the admin password following https://docs.gitlab.com/ee/security/reset_user_password.html#reset-your-root-password.

Password: 密码

 

麒麟v10安装mysql 麒麟V10安装docker_docker_03

2.修改root密码

root@gitlab:/# gitlab-rails console    #容器内部打开控制台
--------------------------------------------------------------------------------
 Ruby:         ruby 3.0.5p211 (2022-11-24 revision ba5cf0f7c5) [aarch64-linux]
 GitLab:       15.10.1 (a2b7634113a) FOSS
 GitLab Shell: 14.18.0
 PostgreSQL:   13.8
------------------------------------------------------------[ booted in 55.94s ]
Loading production environment (Rails 6.1.7.2)
irb(main):001:0> user = User.find(1) #查看id为1的账号
=> #<User id:1 @root>
irb(main):002:0> user.password = '花非人陌'    #修改密码
=> "Caixm123xuan"
irb(main):003:0> user.password_confirmation = '' #确认密码
=> "Caixm123xuan"
irb(main):004:0> user.save!    #保存配置
=> true
irb(main):005:0> exit          #退出控制台