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
通过了,这样就可以继续下一步 写脚本咯~!

相关文章
|
8月前
|
存储 测试技术 数据安全/隐私保护
【Docker项目实战】使用Docker部署dufs文件服务器
【Docker项目实战】使用Docker部署dufs文件服务器
1065 17
【Docker项目实战】使用Docker部署dufs文件服务器
|
8月前
|
安全 Linux Shell
使用SCP命令在CentOS 7上向目标服务器传输文件
以上步骤是在CentOS 7系统上使用SCP命令进行文件传输的基础,操作简洁,易于理解。务必在执行命令前确认好各项参数,尤其是目录路径和文件名,以避免不必要的传输错误。
813 17
|
7月前
|
Ubuntu 网络安全 PHP
如何使用vscode的Docker插件管理ubuntu 拉取服务器的镜像以及创建容器
本测试镜像旨在记录使用vscode的Docker插件拉取病创建Dockerfile,以及拉取镜像。
|
8月前
|
弹性计算 关系型数据库 Nacos
低配阿里云 ECS 如何 docker 环境部署 NACOS : 单机版模式
NACOS 单机版 Docker 安装指南。使用指定端口和 custom.env 配置文件启动 Nacos 服务,适用于 2.X 版本,包含 gRPC 支持及 MySQL 数据源配置。 -e MODE=standalone \
667 5
|
9月前
|
Ubuntu 安全 数据安全/隐私保护
在Docker容器中部署GitLab服务器的步骤(面向Ubuntu 16.04)
现在,你已经成功地在Docker上部署了GitLab。这就是我们在星际中的壮举,轻松如同土豆一样简单!星际旅行结束,靠岸,打开舱门,迎接全新的代码时代。Prepare to code, astronaut!
601 12
|
8月前
|
存储 安全 Linux
Linux服务器上安装配置GitLab的步骤。
按照以上步骤,一个基础的GitLab服务应该运行并可以使用。记得定期检查GitLab官方文档,因为GitLab的安装和配置步骤可能随着新版本而变化。
811 0
|
11月前
|
关系型数据库 MySQL Linux
在Linux环境下备份Docker中的MySQL数据并传输到其他服务器以实现数据级别的容灾
以上就是在Linux环境下备份Docker中的MySQL数据并传输到其他服务器以实现数据级别的容灾的步骤。这个过程就像是一场接力赛,数据从MySQL数据库中接力棒一样传递到备份文件,再从备份文件传递到其他服务器,最后再传递回MySQL数据库。这样,即使在灾难发生时,我们也可以快速恢复数据,保证业务的正常运行。
509 28
|
11月前
|
NoSQL Redis 数据库
Docker平台上的Redis镜像运行
这就是如何在Docker平台上运行Redis镜像的全部过程。走进Docker和Redis的世界,探索更多可能!
694 10
|
存储 Shell 网络安全
docker 安装gitlab,配置邮件,备份全流程
docker 安装gitlab,配置邮件,备份全流程
897 0
docker 安装gitlab,配置邮件,备份全流程
|
网络协议 应用服务中间件 程序员
Docker实战:Docker安装Gitlab教程,非常实用
GitLab 是一个用于代码仓库管理系统的开源项目,使用Git作为代码管理工具,并在此基础上搭建起来的Web服务平台, 通过该平台可以实现Github类似的web系统,可以实现浏览代码、管理项目、管理团队人员、管理代码分支、代码提交记录等功能。Gitlab是目前互联网公司最流行的代码版本控制平台。
Docker实战:Docker安装Gitlab教程,非常实用