docker 安装gitlab血泪史(解决方式telnet查看未开通端口号)

1.docker pull gitlab/gitlab-ce

2.执行:

docker run -d  -p 443:443 -p 80:80 -p 222:22 --name gitlab --restart always -v /home/gitlab/config:/etc/gitlab -v /home/gitlab/logs:/var/log/gitlab -v /home/gitlab/data:/var/opt/gitlab gitlab/gitlab-ce
# -d:后台运行
# -p:将容器内部端口向外映射
# --name:命名容器名称
# -v:将容器内数据文件夹或者日志、配置等文件夹挂载到宿主机指定目录

3.访问localhost:80,访问失败,,

放心,这里不是80端口冲突,搞了几天,用telnet 命令发现是23端口无法访问

不知道为什么会访问这个端口,不过知道原因就好办了:执行如下命令开放端口号

iptables -A INPUT -p tcp --dport 23 -j ACCEPT
iptables -A OUTPUT -p tcp --sport 23 -j ACCEPT

service iptables save //保存

service iptables restart //重启

4.再次访问,成功,然后设置初始密码(最少八位)进入主页。其他配置需求可另行搜索

 

5.配置:

按上面的方式,gitlab容器运行没问题,但在gitlab上创建项目的时候,生成项目的URL访问地址是按容器的hostname来生成的,也就是容器的id。作为gitlab服务器,我们需要一个固定的URL访问地址,于是需要配置gitlab.rb(宿主机路径:/home/gitlab/config/gitlab.rb)

# gitlab.rb文件内容默认全是注释
$ vim /home/gitlab/config/gitlab.rb
# 配置http协议所使用的访问地址,不加端口号默认为80
external_url 'http://192.168.199.231'

# 配置ssh协议所使用的访问地址和端口
gitlab_rails['gitlab_ssh_host'] = '192.168.199.231'
gitlab_rails['gitlab_shell_ssh_port'] = 222 # 此端口是run时22端口映射的222端口
:wq #保存配置文件并退出
# 重启gitlab容器
$ docker restart gitlab

6.总结:网上许多教程都可以成功安装启动gitlab,但是,遇到问题,网上的办法可以借鉴,当这些方法都无法解决的时候,要学会触类旁通,寻找具体原因,只要找到原因,问题也就解决一大半了--谨此,共勉^_^

 

### 如何在 Docker安装配置 GitLabGitLab Runner 实现 CI/CD 流水线 #### 使用 Docker 安装 GitLab 为了实现 CI/CD 流水线,首先需要Docker 来部署 GitLab 版本 `16.2.3-jh`。这可以过拉取官方镜像并启动容器完成。 ```bash docker pull gitlab/gitlab-ce:16.2.3-jh docker run --detach \ --hostname gitlab.example.com \ --publish 443:443 --publish 80:80 --publish 22:22 \ --name gitlab \ --restart always \ --volume /srv/gitlab/config:/etc/gitlab \ --volume /srv/gitlab/logs:/var/log/gitlab \ --volume /srv/gitlab/data:/var/opt/gitlab \ gitlab/gitlab-ce:16.2.3-jh ``` 上述命令会创建一个新的 GitLab 实例,并将其绑定到主机上的端口 80, 443 和 22[^1]。 #### 配置 GitLab Runner 一旦 GitLab 成功运行,在同一台机器或其他服务器上可以继续安装 GitLab Runner 版本 `16.2.0` 并连接至已有的 GitLab 实例。此过程涉及下载合适的二进制文件以及注册该服务: ```bash curl -L "https://packages.gitlab.com/install/repositories/runner/gitlab-runner/script.deb.sh" | sudo bash sudo apt-get install gitlab-runner ``` 接着利用之前获取的 URL 和令牌来注册新的 Runner: ```bash sudo gitlab-runner register --url http://<your_gitlab_url> --registration-token <your_registration_token> ``` 这里 `<your_gitlab_url>` 应替换为实际地址而 `<your_registration_token>` 则由 GitLab 提供[^4]。 #### 设置 CI/CD Pipeline 当 GitLabGitLab Runner 均准备就绪之后,可以在项目仓库内定义 `.gitlab-ci.yml` 文件以描述具体的构建流程。例如下面展示了一个简单的 Python Web 应用程序持续集成脚本片段: ```yaml stages: - test - python manage.py test build_image: stage: build script: - docker build -t myapp:$CI_COMMIT_REF_NAME . deploy_to_production: only: - echo Deploying application... ``` 这段 YAML 描述了三个阶段的任务——测试、构建和部署,并指定了每个任务的具体操作[^3]。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

浮生若梦l

你的鼓励实我创作最大的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值