安装容器管理软件podman
[root@gitlab ~]# yum install -y podman
修改ssh端口号
因为gitlab容器也要用到22端口,有冲突。
+17是打开文件时,光标直接定位到第17行。
[root@gitlab ~]# vim +17 /etc/ssh/sshd_config
17 Port 2022
[root@gitlab ~]# systemctl restart sshd
ssh连接退出,再登陆时,需要指定端口号
[root@develop ~]# ssh -p2022 192.168.4.20
注意:要关闭selinux和firewall
gitlab容器需要/etc/resolv.conf文件。不存在则创建它
[root@gitlab ~]# touch /etc/resolv.conf
导入镜像。
一个镜像可以创建很多容器。镜像是只读的,容器是可以改变的。
# 容器相当于是精简的虚拟机,可以像虚拟机一样,对外提供服务。
下载镜像:
podman pull docker.io/xiangma0510/gitlab-jh
# 容器如果出现故障,首先的排错方法是重启它;如果无效,删掉重建。
# 为了删容器,不丢失数据,需要把容器需要的数据保存在宿主机上。在哪台主机上启动容器,哪台主机就是宿主机。
# 在192.168.4.20上创建用于保存容器数据的目录
[root@gitlab ~]# mkdir -p /srv/gitlab/{config,logs,data}
[root@gitlab ~]# ls /srv/gitlab/
config data logs
创建容器
# -d后台运行。-h gitlab设置容器的主机名。--name gitlab是podman ps查看到的容器名;-p指定发布的端口号,当访问宿主机443/80/22端口时,这样的请求就发给容器的相关端口;--restart always是开机自启;-v是映射路径,将容器中指定的路径,映射到宿主机,以便保存容器产生的数据;最后的gitlab_zh是镜像名。
[root@gitlab ~]# podman run -d -h gitlab --name gitlab -p 443:443 -p 80:80 -p 22:22 --restart always -v /srv/gitlab/config:/etc/gitlab -v /srv/gitlab/logs:/var/log/gitlab -v /srv/gitlab/data:/var/opt/gitlab registry.gitlab.cn/omnibus/gitlab-jh:latest
获取root的密码:
podman exec -it gitlab grep 'Password:' /etc/gitlab/initial_root_password
[root@gitlab ~]# podman ps
# 如果一切正常,几分钟后,可以访问http://192.168.4.20/ (以自己gitlab服务器的ip为准)