Tag:

扫描和滚动不起作用从外部放置ElasticSearch群集的Docker

目前我使用Docker和ElasticSearch集群,它位于容器外部。 从我的docker我pipe理创build一个映射(所以我的IP很好),我设法启动简单的请求在Python语言。 def getBodyOfRoot(self, id): res = self.es.get(index=self.ES_Index, doc_type=self.ES_Type, id=id) return res['_source'] 这个例子在我的主机和Docker中运行良好。 但是当我从Docker启动我的扫描和滚动时,我没有得到回应,但是从我的本地操作系统,我得到一个响应。 如果你已经遇到这个问题,你是如何解决这个问题的? 提前致谢。

启动Docker容器时自动运行Python脚本

启动Docker容器时是否可以自动运行python脚本? 我附加到图像的命令是: docker run -i -t –entrypoint /bin/bash myimage -s 有没有办法添加一个额外的命令启动脚本运行脚本? 我不希望使用Dockerfile,因为我使用的一些Python模块是从私人回购,并需要手动下载,所以Dockerfile将不会完全build立我想要的图像。

命令'/ bin / sh -c sudo pip3 install -r requirements.txt'返回一个非零的代码:1

我遇到了构build我的Docker容器的问题。 不完全确定我需要在这里做什么。 Dockerfile FROM ubuntu:14.04 RUN apt-get update \ && apt-get install -y tar git curl nano wget dialog net-tools build-essential \ && apt-get install –no-install-recommends -y -q python3 python3-pip python3-dev ADD . /bot WORKDIR /bot RUN sudo pip3 install -r requirements.txt CMD ["python3", "app.py"] Requirements.txt Flask==0.10.1 Jinja2==2.8 MarkupSafe==0.23 Werkzeug==0.11.3 itsdangerous==0.24 lxml==3.5.0 requests==2.9.1 uWSGI==2.0.12 wikiquote==0.1.2 […]

为什么python“害羞”在Docker中使用内存?

我正在docker中运行一个内存密集型的python脚本(pandas,numpy,机器学习),性能很糟糕。 在我的主机中,脚本使用超过10GB的RAM。 docker化的Python脚本只使用3Gb(com.docker.hyperkit进程)。 我已经将我的docker内存首选项更改为10gb(在Mac OS Docker GUI中),并运行具有显式内存限制的容器: docker run -m 10g … 为什么容器不能像宿主应用程序那样使用10gb?

Docker中的Python日志logging类:日志不见了

几年来,我用相同的方式使用了Python的日志logging类: def get_module_logger(mod_name): """ To use this, do logger = get_module_logger(__name__) """ logger = logging.getLogger(mod_name) handler = logging.StreamHandler() formatter = logging.Formatter( '%(asctime)s [%(name)-12s] %(levelname)-8s %(message)s') handler.setFormatter(formatter) logger.addHandler(handler) logger.setLevel(logging.DEBUG) return logger 然后在一些模块中, logger = get_module_logger(__name__) 现在,我正在运行一个使用Docker容器内部的Python应用程序。 我用-d -i -t运行容器。 当我在docker exec -it containername /bin/bash后面的docker exec -it containername /bin/bash ,如果我在生成日志的python脚本中执行命令,我可以看到日志。 不过,从外面看, docker logs containername从不显示任何东西。 我试图运行我的容器与PYTHONUNBUFFERED=0每几个networking职位,这也没有帮助。 docker logs […]

在kubernetes访问docker集装箱

我有一个应用程序暴露端口8080泊坞窗容器。我可以运行它,并在我的本地计算机上访问它: $ docker run -p 33333:8080 foo * Running on http://127.0.0.1:8080/ (Press CTRL+C to quit) 我可以testing它: $ nc -v locahost 33333 connection succeeded! 但是,当我在Kubernetes部署它不起作用。 这是清单文件: apiVersion: v1 kind: Pod metadata: name: foo-pod namespace: foo labels: name: foo-pod spec: containers: – name: foo image: bar/foo:latest ports: – containerPort: 8080 和 apiVersion: v1 kind: Service metadata: name: […]

将自定义模块安装到Docker容器中

我有几个服务在自己的Docker容器中运行。 在我的项目中,我也有一个lib文件夹,里面包含了所有服务需要的一些小模块。 将这些模块包含到Docker容器中的最佳方式是什么? 显然第三方模块,我只是使用RUN pip install -r requirements.txt ,有没有类似的方式,我可以包括我自己的模块?

用docker run添加一个数据文件

我想添加一个Python脚本到docker集装箱。 此脚本处理我在运行容器时提供的数据文件。 我无法弄清楚如何做到这一点,所以我会感谢一些帮助(我不想将data.txt文件添加到容器)。 我明白,我可以发送文件到一个REST接口curl,但如果可能我想要一个更简单的解决scheme。 (如果解决scheme适用于ECS,我也会很棒,但是我还不了解其中的含义。) Dockerfile: FROM centos:6 RUN yum -y update RUN yum -y install epel-release && yum clean all RUN yum -y install python-pip && yum clean all ADD . /myapp WORKDIR /myapp # install requirements RUN pip install -r requirements.txt # install #RUN pip install . CMD ["python","./app.py", "/data.txt"] 脚本: import sys […]

泊坞窗python自定义模块找不到

我是docker工人,尝试将一个简单的应用程序移动到docker工人。 Python标准模块我可以使用“pip安装”导入。 不过,我有一些自定义的python实用程序文件,我想要使用。 这些文件在单独的软件包“utils”中。 在我的主要python文件: test.py ,我在做 from utils import math.py, logger.py docker的这个外面工作正常,但是当通过docker运行时,给我错误"ImportError: No module named utils" 。 我的Dockerfile代码: FROM python:2.7.11 ADD ./ test_project/ WORKDIR test_project ENV PATH=$PATH:/test_project/utils ENV PYTHONPATH /test_project/utils CMD [ "python", "report/test.py"] 我的目录结构: test_project report utils 有什么build议么?

在容器中运行Docker脚本应用程序

我是新来的Docker和容器 – 我有一个Python 3脚本,基于命令行参数从网站中提取数据并打印结果。 如果没有可用的networking连接,它使用Redis来caching数据。 Dockerfile我看起来像这样 FROM ubuntu:latest RUN apt-get update -y && apt-get -y install redis-server && apt-get install -y python3-pip python3.5-dev build-essential COPY . /app WORKDIR /app RUN pip3 install -r requirements.txt ENTRYPOINT ["python3"] CMD ["pn.py"] 我能够构build图像,但是当我启动容器时,它大概会运行Python命令来在容器中运行脚本并退出,并且作为结果,我看不到主机的结果。 该脚本需要命令行input,否则将失败。 如何将这些指定为可用于从主机运行脚本的单个Docker运行命令的一部分? 或者,我怎样才能启动容器,而无需调用脚本,而是在运行容器内手动运行脚本?