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

然后注册:

[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!

这后就是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

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

[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

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

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

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

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

相关文章
|
11天前
|
存储 Linux Docker
docker在欧拉服务器上编译安装应该注意什么?如何操作?
【10月更文挑战第31天】docker在欧拉服务器上编译安装应该注意什么?如何操作?
34 2
|
24天前
|
安全 Docker 容器
|
7天前
|
自然语言处理 编译器 应用服务中间件
PHP在服务器上的运行过程
PHP在服务器上的运行过程
26 7
|
18天前
|
安全 Linux Shell
docker运行centos提示Operation not permitted
通过上述步骤,可以有效排查和解决在Docker中运行CentOS容器时遇到的"Operation not permitted"错误。这些措施涵盖了从权限配置、安全策略到容器运行参数的各个方面,确保在不同环境和使用场景下都能顺利运行容器。如果你需要进一步优化和管理你的Docker环境
29 3
|
23天前
|
关系型数据库 MySQL Linux
基于阿里云服务器Linux系统安装Docker完整图文教程(附部署开源项目)
基于阿里云服务器Linux系统安装Docker完整图文教程(附部署开源项目)
191 2
|
24天前
|
弹性计算 数据库连接 Nacos
阿里云ECS服务器在docker中部署nacos
docker pull nacos 失败,docker部署nacos遇到的问题,nacos数据库连接,nacos端口映射
91 1
|
30天前
|
存储 弹性计算 算法
前端大模型应用笔记(四):如何在资源受限例如1核和1G内存的端侧或ECS上运行一个合适的向量存储库及如何优化
本文探讨了在资源受限的嵌入式设备(如1核处理器和1GB内存)上实现高效向量存储和检索的方法,旨在支持端侧大模型应用。文章分析了Annoy、HNSWLib、NMSLib、FLANN、VP-Trees和Lshbox等向量存储库的特点与适用场景,推荐Annoy作为多数情况下的首选方案,并提出了数据预处理、索引优化、查询优化等策略以提升性能。通过这些方法,即使在资源受限的环境中也能实现高效的向量检索。
|
1月前
|
NoSQL Linux Redis
Docker学习二(Centos):Docker安装并运行redis(成功运行)
这篇文章介绍了在CentOS系统上使用Docker安装并运行Redis数据库的详细步骤,包括拉取Redis镜像、创建挂载目录、下载配置文件、修改配置以及使用Docker命令运行Redis容器,并检查运行状态和使用Navicat连接Redis。
227 3
|
1月前
|
网络安全 虚拟化 Docker
SSH后判断当前服务器是云主机、物理机、虚拟机、docker环境
结合上述方法,您可以对当前环境进行较为准确的判断。重要的是理解每种环境的特征,并通过系统的响应进行综合分析。如果在Docker容器内,通常会有明显的环境标志和受限的资源视图;而在云主机或虚拟机上,虽然它们也可能是虚拟化的,但通常提供更接近物理机的体验,且可通过硬件标识来识别虚拟化平台。物理机则直接反映硬件真实信息,较少有虚拟化痕迹。通过这些线索,您应该能够定位到您所处的环境类型。
27 2
|
1月前
|
Ubuntu 应用服务中间件 开发工具
Ubuntu16.04搭建gitlab服务器,搭建pip源服务器(两种方式),搭建apt源服务器
这篇文章是关于如何在Ubuntu 16.04系统上搭建GitLab服务器、pip源服务器(使用pypiserver和NGINX两种方式),以及apt源服务器的详细教程。
25 0
Ubuntu16.04搭建gitlab服务器,搭建pip源服务器(两种方式),搭建apt源服务器