当前位置: 首页 > news >正文

飞腾ft2000-麒麟V10-SP1安装Docker、运行gitlab容器

目录

一、安装及配置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 &    #启动dockerdocker version    #查询版本验证docker是否安装成功

6.docker常用命令

docker常用命令

二、安装并启动gitlab镜像

1.安装gitlab镜像

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

Docker官方仓库

        在仓库中查询gitlab,因为需要区分构建后的架构,查找自己需要使用的CPU架构版本,飞腾为arm64架构,这里选择的是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'] = 1022root@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

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 #参照下图

 如上图所示,文件中其中一项是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: 密码

 

2.修改root密码

root@gitlab:/# gitlab-rails console    #容器内部打开控制台
--------------------------------------------------------------------------------Ruby:         ruby 3.0.5p211 (2022-11-24 revision ba5cf0f7c5) [aarch64-linux]GitLab:       15.10.1 (a2b7634113a) FOSSGitLab Shell: 14.18.0PostgreSQL:   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          #退出控制台
http://www.lryc.cn/news/65816.html

相关文章:

  • C++ 的类型转换
  • 【Windows】普通控制台EXE程序转为windows服务方式运行的详细步骤
  • NSSCTF [suctf 2019]hardcpp WP 控制流混淆
  • 计算机毕业论文内容参考|基于神经网络的网络安全态势感知技术研究
  • Flask框架之Request、Response、Cookies、Session等对象的使用
  • 信号与槽机制一
  • nodejs 复制文件到指定目录
  • 第八章 使用Apache服务部署静态网站
  • Three——四、几何体、高光网络材质、锯齿模糊以及GUI库的使用
  • 盲目自学网络安全只会成为脚本小子?
  • 文从字顺|程序员须知,如何编写高质量代码
  • PCIe物理层弹性缓存机制(详细)解析-PCIe专题知识(四)
  • 分片上传和断点续传的区别?实现思路是什么?
  • 微前端 qiankun@2.10.5 源码分析(二)
  • 08异步请求:何种场景下应该使用异步请求?
  • 【深度学习 | Transformer】Transformers 教程:pipeline一键预测
  • HTMLCSS
  • 【安装Nginx】
  • VSCode作业1:猜数字游戏和简单计数器(包含完整代码)
  • NANK OE骨传导开放式蓝牙耳机发布,极致体验拉满!
  • 看完这篇文章你就彻底懂啦{保姆级讲解}-----(I.MX6U驱动GPIO中断《包括时钟讲解》) 2023.5.9
  • MySql -- 事务
  • 关于大模型对未来影响的一点看法
  • Android - 约束布局 ConstraintLayout
  • Addictive Multiplicative in NN
  • LeetCode 1206. 实现跳表
  • 离散数学_九章:关系(2)
  • [ubuntu][原创]通过apt方式去安装libnccl库
  • YonLinker连接集成平台构建新一代产业互联根基
  • 泛型的详解