Tag:

docker-compose在以普通用户身份运行时出现错误“ImportError:No module named ssl_match_hostname”

我已经安装了docker-compose与“pip2.7安装docker-compose”,但是当我尝试以“普通”用户身份运行时,我收到以下错误消息: mike@hugin:~/Tobedeleted$ docker-compose -v Traceback (most recent call last): File "/usr/local/bin/docker-compose", line 7, in <module> from compose.cli.main import main File "/usr/local/lib/python2.7/dist-packages/compose/cli/main.py", line 17, in <module> from . import errors File "/usr/local/lib/python2.7/dist-packages/compose/cli/errors.py", line 10, in <module> from docker.errors import APIError File "/usr/local/lib/python2.7/dist-packages/docker/__init__.py", line 2, in <module> from .api import APIClient File "/usr/local/lib/python2.7/dist-packages/docker/api/__init__.py", line 2, in <module> […]

如何在docker python API中传输日志?

我正在使用docker python API从Dockerfile构build一个图像。 import os import sys import os.path import docker client = docker.from_env() try: here = os.path.dirname(__file__) no_cache = False dockerfile = os.path.join(here, 'app', 'nextdir') image = client.images.build(path=dockerfile, tag='app:v.2.4', nocache=no_cache, stream=True) 操作成功完成,但是我无法stream式传输日志。 该API说: 返回一个可以迭代的阻塞生成器来检索生成输出 当stream = True时。 我怎样才能得到这些日志在Python?

Datadog计数度量下降与多个容器

我在python中增加一个Datadog计数器: from datadog import initialize from datadog import ThreadStats stats.increment('api.request_count', tags=['environment:' + environment]) 并且已经将度量types设置为“计数”,并将该单位设置为度量的元数据中的“请求无”。 代码在Google云中的容器引擎中的kubernetes节点上的docker容器中运行…我在每个节点上都运行了docker-dd-agent( https://github.com/DataDog/docker-dd-agent )。 我可以将容器移动到任何节点,并且每分钟logging大约200个请求。 但只要我扩展并启动第二个容器,它每分钟只logging约100个请求。 如果我再次缩小到一个容器,它再次峰值到200转: 什么可能导致请求丢弃或从其他豆荚覆盖?

最好的方式来增强一个Docker镜像,用于需要坚持的小改动

我有一个docker形象,需要大约45分钟来build立。 正如我正在使用它,我发现我有时需要添加Python包到我正在处理的代码。 我希望能够安装这些软件包,使其持续下去。 什么是达到这个目的的最好方法? G

如何避免Dockerfile中的大型二进制文件caching失效(Python_Onbuild)

我正在我的dockfile中下载1.6 GB二进制压缩文件,然后使用gunzip将其解压缩,从而导致存储3.6 GB文件。 我不想让它一直重复,因为它需要很长的时间。 它是一个静态文件,所以不应该每次使用Jenkins / docker将更改部署到服务器时下载。 但是,每次下载,我都会进行更改,然后运行Jenkins来部署它们。 这是我的docker文件: FROM python:2.7.13-onbuild RUN mkdir -p /usr/src/app WORKDIR /usr/src/app ARG DEBIAN_FRONTEND=noninteractive RUN apt-get update && apt-get install –assume-yes apt-utils RUN apt-get update && apt-get install -y curl RUN apt-get update && apt-get install -y unzip RUN curl -o – https://s3.amazonaws.com/dl4j-distribution/GoogleNews-vectors-negative300.bin.gz \ | gunzip > /usr/src/app/GoogleNews-vectors-negative300.bin 更新:我改变了dockfile为一个简单的如下所示: FROM […]

在docker-compose文件中更改泊坞窗容器中的PYTHONPATH

我在docker容器中有一个应用程序,其入口点被定义为 ENTRYPOINT ["/usr/local/bin/gunicorn", "–pythonpath=`$PWD`/.."] 然后,我有三个容器进程使用该容器和入口点来从应用程序提供我的文件。 一切都很好。 我现在正在尝试启动另一个容纳gunicorn命令的容器进程。 我希望它用这个命令运行一个python3进程 entrypoint: ["python3", "/crm/maintenance/maintenance.py"] 在docker-compose.yml文件中。 问题是,当我运行docker-compose up -d上面的入口docker-compose up -d ,所有的容器运行良好,除了运行python进程。 我得到的错误是: Traceback (most recent call last): File "/crm/maintenance/maintenance.py", line 6, in <module> from crm.sms_system.answer_send import AnswerSender ImportError: No module named 'crm' 我把这个错误归因于保持不正确的pythonpath。 对于Docker文件中定义的入口点,我有"–pythonpath= $ PWD /.."标志。 但是这不能转移到python3。 相反,我尝试了一些东西: 在dockerfile中ENV PYTHONPATH=$PWD/.. 在docker-compose.yml entrypoint: ["PYTHONPATH=/..","python3", "/crm/maintenance/maintenance.py"] maintenance entrypoint: ["PYTHONPATH=/..","python3", […]

Docker重新构build时间

我们正在尝试为python应用程序创build一个Docker容器。 Dockerfile使用“pip install”来安装依赖关系。 Dockerfile看起来像 FROM ubuntu:latest RUN apt-get update -y RUN apt-get install -y git wget python3-pip RUN mkdir /app COPY . /app RUN pip3 install asn1crypto RUN pip3 install cffi==1.10.0 RUN pip3 install click==6.7 RUN pip3 install conda==4.3.16 RUN pip3 install Flask==0.12.2 RUN pip3 install Flask-SSLify==0.1.5 RUN pip3 install Flask-SSLify==0.1.5 RUN pip3 install flask-restful==0.3.6 […]

为什么在Dockerfile中使用RUN安装自定义的python包不起作用?

我已经阅读了下面的链接在Docker上安装自定义模块: 安装定制模块-进入-搬运工容器 但我使用的是Dockerfile文件,我试图在Dockerfile安装我的自定义模块,如下所示: RUN python myPythonModule/setup.py install 现在,当我build立docker图像时,它显示它正在安装我的自定义图像。 当我尝试运行docker运行新build的docker镜像时,它显示下面的错误: Traceback (most recent call last): File "my_app.py", line 5, in <module> from myPythonModule import rpc ImportError: No module named myPythonModule 我已经将模块复制到Dockerfile所在的Dockerfile 。 我应该如何安装我的自定义Python包在docker ?

ModuleNotFoundError:在docker python中没有模板名称<name>

我有两个python文件my_script.py test.py与下面的内容。 my_script.py #!/usr/bin/python3 import os import sys sys.path.append("/home/user/test") import test as count data = count.function() print(data) test.py #!/usr/bin/python3 import time def function(): print("This is function") return "test" 当我执行my_script.py ,我得到以下结果: This is function test 我使用Dockerfile创build了my_script.py docker镜像: FROM python:3 ADD my_script.py / CMD [ "python3", "./my_script.py" ] 但是当我运行它的容器时,我得到一个错误: Traceback (most recent call last): File "./my_script.py", line […]

从rhel6.5镜像构builddocker镜像

我试图build立一个基于python3的容器,并安装一些要求。 但python3的构build失败在这里我的Dockerfile FROM rhel6.5 ADD ./* /app/ WORKDIR /app/Python CMD ["./configure"] CMD ["make"] CMD ["altinstall"] WORKDIR /app CMD ["python", "-m", "pip", "install" , "-r" , "requirement.txt"] 编译后,当我运行 sudo docker run myimage python -v给出了2.6的时候,我运行了bash并试图再次编译python sudo docker run -i myimage /bin/bash ./configure 我有 ./configure checking build system type… x86_64-unknown-linux-gnu checking host system type… x86_64-unknown-linux-gnu checking for –enable-universalsdk… […]