Docker运行人gitlab-runner 无法 scp到远程服务器的问题

简介:
[root@sannian data-ci]# docker search gitlab-runner 
[root@sannian data-ci]# docker pull gitlab/gitlab-runner
[root@sannian data-ci]# docker run -d -v /data-ci/:/data-ci/ --restart=always --name gitlab-runner gitlab/gitlab-runner
AI 代码解读

然后注册:

[root@sannian data-ci]# docker exec -it 80ac801e633b gitlab-runner register
Runtime platform                                    arch=amd64 os=linux pid=16 revision=cf91d5e1 version=11.4.2
Running in system-mode.                            
                                                   
Please enter the gitlab-ci coordinator URL (e.g. https://gitlab.com/):
http://47.99.145.156:9999/
Please enter the gitlab-ci token for this runner:
Ah-B41xF53-R4M6bamrE
Please enter the gitlab-ci description for this runner:
[80ac801e633b]: 
Please enter the gitlab-ci tags for this runner (comma separated):
my-erp
Registering runner... succeeded                     runner=Ah-B41xF
Please enter the executor: docker, docker-ssh, parallels, virtualbox, docker-ssh+machine, shell, ssh, docker+machine, kubernetes:
shell
Runner registered successfully. Feel free to start it, but if it's running already the config should be automatically reloaded!
AI 代码解读

这后就是gitlab报错
2
然后就是发现用户是--user=gitlab-runner

[root@sannian data-ci]# ps -ef | grep gitlab-runner
root     31028 30984  0 10:30 ?        00:00:00 /usr/bin/dumb-init /entrypoint run --user=gitlab-runner --working-directory=/home/gitlab-runner
root     31091 31028  0 10:30 ?        00:00:00 gitlab-runner run --user=gitlab-runner --working-directory=/home/gitlab-runner
root     31155 31017  0 10:30 pts/2    00:00:00 grep --color=auto gitlab-runner
AI 代码解读

为了解决这个问题
进入容器

[root@sannian data-ci]# docker exec -it 80ac801e633b /bin/bash
root@80ac801e633b:/# su gitlab-runner
gitlab-runner@80ac801e633b:/$ ssh-keygen 
Generating public/private rsa key pair.
Enter file in which to save the key (/home/gitlab-runner/.ssh/id_rsa): 
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /home/gitlab-runner/.ssh/id_rsa.
Your public key has been saved in /home/gitlab-runner/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:SzbhlkF6U+eHCSqToSnHzrivfbLEl+zJLk0G3KUsI3M gitlab-runner@80ac801e633b
The key's randomart image is:
+---[RSA 2048]----+
|      . . o .    |
|   . o =.o + o   |
|  ..=o=o*   + .  |
|  o*E += =   .   |
|  .+o+  S        |
|   o .o= o       |
|  . o++ .        |
|   +o+o.         |
|  ..+*=          |
+----[SHA256]-----+
gitlab-runner@80ac801e633b:/$ vim /home/gitlab-runner/.ssh/id_rsa.pub
AI 代码解读

把密复制到远程主机上。光这个还不行,还要在容器里测试一下

gitlab-runner@80ac801e633b:/$ scp -r /data-ci/eatjoys-front.sh  root@47.99.89.247://data-ci/eatjoys-front.sh
The authenticity of host '47.99.89.247 (47.99.89.247)' can't be established.
ECDSA key fingerprint is SHA256:a6E2UXjP1qIZLmHAS6LAfyeUjsidFhTCZxefKC4cDGk.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '47.99.89.247' (ECDSA) to the list of known hosts.
eatjoys-front.sh
AI 代码解读

第一次,一定要输入一下yes 才会通过, 然后看gitlab上

3
通过了,这样就可以继续下一步 写脚本咯~!

目录
打赏
0
0
0
0
22
分享
相关文章
【赵渝强老师】在Docker中运行达梦数据库
本文介绍了在Docker容器中部署达梦数据库(DM 8)的具体步骤,包括创建文件夹、下载安装包、导入镜像、启动容器、登录数据库及查看状态等操作。同时,通过视频讲解辅助理解。文中还分析了将数据库服务容器化的潜在问题,如数据安全性、硬件资源争用、网络带宽占用和额外隔离带来的挑战,指出数据库服务在生产环境中可能不适合容器化的原因。
【赵渝强老师】在Docker中运行达梦数据库
Docker——阿里云服务器利用docker搭建redis集群
本文详细记录了使用Docker搭建Redis集群的过程,包括检查Docker和Docker Compose的安装、创建Redis配置文件、编写`docker-compose.yml`文件、启动Redis节点、创建Redis集群的具体步骤,以及最终的验证方法。文章还提供了在多服务器环境下搭建Redis集群的注意事项,帮助读者全面了解 Redis 集群的部署流程。
87 12
docker在欧拉服务器上编译安装应该注意什么?如何操作?
【10月更文挑战第31天】docker在欧拉服务器上编译安装应该注意什么?如何操作?
171 2
阿里云服务器一键安装Docker社区版教程,基于系统运维管理OOS
阿里云服务器一键安装Docker社区版教程,基于系统运维管理OOS自动化部署。支持Ubuntu 22.04/20.04、CentOS 7.7-7.9及Alibaba Cloud Linux 3.2104 LTS。前提条件:ECS实例需运行中且有公网。步骤:选择Docker扩展并安装,验证成功通过命令`docker -v`查看版本号。
382 79
在阿里云ECS云服务器上安装、配置及高效使用Docker与Docker Compose
本文介绍了在阿里云ECS上使用Ubuntu系统安装和配置Docker及Docker Compose的详细步骤。通过这些工具,可以快速部署、弹性扩展和高效管理容器化应用,满足开发和运维需求。内容涵盖Docker的安装、镜像源配置、创建Web程序镜像以及使用Docker Compose部署WordPress等实际操作,并分享了使用体验,展示了阿里云实例的高性能和稳定性。
255 4
Linux服务器部署docker windows
在当今软件开发中,Docker成为流行的虚拟化技术,支持在Linux服务器上运行Windows容器。流程包括:1) 安装Docker;2) 配置支持Windows容器;3) 获取Windows镜像;4) 运行Windows容器;5) 验证容器状态。通过这些步骤,你可以在Linux环境中顺利部署和管理Windows应用,提高开发和运维效率。
86 1
Docker——阿里云服务器使用Docker部署python项目全程小记
本文记录了我在阿里云服务器上使用Docker部署python项目(flask为例)的全过程,在这里记录和分享一下,希望可以给大家提供一些参考。
docker安装nginx,前端项目运行
通过上述步骤,你可以轻松地在Docker中部署Nginx并运行前端项目。这种方法不仅简化了部署流程,还确保了环境的一致性,提高了开发和运维的效率。确保按步骤操作,并根据项目的具体需求进行相应的配置调整。
263 25
在Docker容器中运行打包好的应用程序
在Docker容器中运行打包好的应用程序
Docker容器内进行应用调试与故障排除的方法与技巧,包括使用日志、进入容器检查、利用监控工具及检查配置等,旨在帮助用户有效应对应用部署中的挑战,确保应用稳定运行
本文深入探讨了在Docker容器内进行应用调试与故障排除的方法与技巧,包括使用日志、进入容器检查、利用监控工具及检查配置等,旨在帮助用户有效应对应用部署中的挑战,确保应用稳定运行。
148 5