首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >生成ansible Dockerfile结果错误找不到pip3

生成ansible Dockerfile结果错误找不到pip3
EN

Server Fault用户
提问于 2021-07-08 23:52:09
回答 1查看 612关注 0票数 0
代码语言:javascript
复制
FROM centos:7

RUN yum check-update; \
    yum install -y gcc libffi-devel python3 epel-release; \
    yum install -y python3-pip; \
    yum install -y wget; \
    yum clean all

RUN pip3 install --upgrade pip; \
    pip3 install "ansible"; \
    wget -q https://raw.githubusercontent.com/ansible-collections/azure/dev/requirements-azure.txt; \
    pip3 install -r requirements-azure.txt; \
    rm requirements-azure.txt; \
    ansible-galaxy collection install azure.azcollection
    pip3 install "pywinrm>=0.2.2" 

WORKDIR /product

CMD [ "/usr/sbin/init" ]
  • 最后三行是我的补充:pip3 install "pywinrm>=0.2.2"WORKDIR /productCMD [ "/usr/sbin/init" ]
  • 我运行这个Dockerfile的方式是: VSCODE >右键单击Dockerfile文件并选择Compose Up选项
代码语言:javascript
复制
version: '2'
services:
  ansible:
    container_name: ansible
    hostname: ansible
    image: ansible
    build:
      context: .
      dockerfile: Dockerfile
    volumes: 
      - ../../../../../../../:/product
    dns:
      - 200.0.10.100
  • 我已经成功地构建和运行了这个映像,但是最近我创建了新的git存储库并将它们克隆到我的主机上。我把这两个文件放在一个文件夹里。
  • 作为构建图像的结果,我得到了以下错误:
代码语言:javascript
复制
#6 187.2 ERROR! Neither the collection requirement entry key 'name', nor 'source' point to a concrete resolvable collection artifact. Also 'name' is not an FQCN. A valid collection name must be in the format <namespace>.<collection>. Please make sure that the namespace and the collection name  contain characters from [a-zA-Z0-9_] only.     
#6 187.2
#6 187.2 Could not find pip3.
------
executor failed running [/bin/sh -c yum install -y python3-pip;     pip3 install --upgrade pip;     pip3 install "ansible";     wget -q https://raw.githubusercontent.com/ansible-collections/azure/dev/requirements-azure.txt;     pip3 install -r requirements-azure.txt;     rm requirements-azure.txt;     ansible-galaxy collection install azure.azcollection     pip3 install "pywinrm>=0.2.2"]: exit code: 1
ERROR: Service 'ansible' failed to build : Build failed
The terminal process "C:\windows\System32\WindowsPowerShell\v1.0\powershell.exe -Command docker-compose -f "images\local\ansible\v210\docker-compose.yml" up -d --build" terminated with exit code: 1.

Terminal will be reused by tasks, press any key to close it.
  • 看起来第一个RUN命令根本没有执行
  • 我尝试了docker build .docker-compose up命令--创建容器失败
  • 我试图清理我的所有容器、图像和卷并重新构建--创建容器失败了(我遵循了以下指南:在这里输入链接描述,还使用了rm命令)

那么,缺少什么或者我需要修复什么才能工作呢?

EN

回答 1

Server Fault用户

回答已采纳

发布于 2021-07-13 20:07:45

您的Dockerfile中有一个错误。RUN命令中的两行不能用; \&& \分隔。

代码语言:javascript
复制
ansible-galaxy collection install azure.azcollection; \
pip3 install "pywinrm>=0.2.2"

因此,这个错误由ansible-galaxy命令返回,该命令试图对pip3执行一些操作。

票数 2
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/1069065

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档