Python社区  »  docker

如何连接到macos并从docker镜像执行脚本

Ram • 1 周前 • 11 次点击  

背景:我目前已经在我的macos上安装了jenkins,我使用它定期触发shell脚本。Shell脚本在我的mac中,jenkins所做的就是调用Shell脚本。现在我试着移动到Concourse并对Concourse执行同样的操作(即调用shell脚本,它定期出现在我的mac中)。我对Docker,Concourse很陌生,我仍然试图更好地理解和做事情

因为大厅里的一切都是以集装箱为基础的。我正在尝试从容器ssh到mac,并在mac上执行shell脚本。我正在尝试使用ssh-keygen并从容器连接到mac。我写了一个bash脚本从容器连接到mac,但它不起作用

连接.sh

#!/usr/bin/env bash

ssh-keygen -t rsa -N "" -f ~/.ssh/id_rsa
ssh-copy-id raenug451@192.168.0.14

pipeline.yaml文件

---
resources:
  - name: repo
    type: git
    source:
      uri: https://github.com/raamojirao/reports.git
      branch: master

jobs:
  - name: some-name
    public: true
    plan:
      - get: repo
      - task: some-task
        config:
          platform: linux
          image_resource:
            type: docker-image
            source: {repository: ubuntu}

          inputs:
            - name: repo

          run:
            path: repo/connect.sh

我收到以下错误消息 repo/connect.sh:第3行:ssh keygen:找不到命令 repo/connect.sh:第4行:ssh copy id:找不到命令

我用的docker图片是ubuntu。在ubuntu中找不到ssh-keygen吗?如果我必须使用ssh keygen创建一个自定义映像,那么如何将该映像传递到pipeline.yml文件。请帮忙!我知道我问的问题太多了。我是Docker的新手,我想了解一下,所以我非常感谢你的帮助。

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/50715
 
11 次点击  
分享到微博
文章 [ 1 ]  |  最新文章 1 周前
Adiii
Reply   •   1 楼
Adiii    2 月前

为什么需要在容器和主机之间运行脚本?不建议这么做,但你可以试试下面的。

在Jenkins服务器上创建dockerfile并构建它,标记它 ubuntu:latest 所以它将使用新创建的Jenkins而不是旧的Jenkins,或者在 OpenSSH-client .

FROM ubuntu:latest

RUN apt-get -y install openssh-client

然后

docker build -t ubuntu:latest

然后去做你想要的工作。

如何将该图像传递到pipeline.yml文件

只需更改图像名称 ubuntu 以防在生成时使用不同的映像名称。