Tag:

由于Docker延迟,Kafka超时

对于Kafka 和 Docker,我是全新的,并且已经解决了一个问题。 我们对Kafka(Apache)队列的持续集成testing在本地机器上运行得很好,但是当在Jenkins CI服务器上时,偶尔会出现这种错误: %3|1508247800.270|FAIL|art#producer-1| [thrd:localhost:9092/bootstrap]: localhost:9092/bootstrap: Connect to ipv4#127.0.0.1:9092 failed: Connection refused %3|1508247800.270|ERROR|art#producer-1| [thrd:localhost:9092/bootstrap]: localhost:9092/bootstrap: Connect to ipv4#127.0.0.1:9092 failed: Connection refused %3|1508247800.270|ERROR|art#producer-1| [thrd:localhost:9092/bootstrap]: 1/1 brokers are down 工作理论是,Docker镜像需要时间才能开始,到时候卡夫卡制作人已经放弃了。 有问题的代码是 producer_properties = { 'bootstrap.servers': self._job_queue.bootstrap_server, 'client.id': self._job_queue.client_id } try: self._producer = kafka.Producer(**producer_properties) except: print("Bang!") 上面的错误行出现在制作人的创作中。 但是,不会引发exception,并且调用返回一个看起来有效的外观生产者,所以我不能以编程方式testing代理端点的存在。 是否有API来检查代理的状态?

docker的Python脚本不能正确执行

当我运行我的容器时,我试图用“/ usr / bin / python”从根目录(“/”)运行“docker.py”。 我已经检查了源图像以确保python二进制文件存在,我已经将docker.py上传到了docker镜像,并成功运行了该二进制文件。 但是,当我尝试创build图像,然后运行图像时,出现此错误(“EOFError:EOF阅读一行时”),我不知道这意味着什么或从哪里开始。 任何帮助表示赞赏。 提前致谢! 猫docker.py #!/usr/bin/python my_name = raw_input("Enter your name: ") print my_name quit() 猫Dockerfile FROM python:2.7 ADD docker.py /docker.py CMD ["/usr/bin/python", "/docker.py"] dockerbuild设。 Sending build context to Docker daemon 175.8MB Step 1/3 : FROM python:2.7 —> b1d5c2d7dda8 Step 2/3 : ADD docker.py /docker.py —> f55a19158773 Step 3/3 […]

创build自定义的Python泊坞窗图像

我有一个Python代码,我想创build一个泊坞窗图像。 现在根据我的理解,我们需要一个Dockerfile和我们的Python代码code.py 在Dockerfile我们需要编写: FROM python:3 ADD code.py / RUN pip3 install imapclient CMD [ "python", "./code.py" ] 我的第一个问题是关于这个Dockerfile 。 首先我们提到了FROM python:3因为我们要使用python3 。 接下来我们添加了我们的代码。 在RUN我们可以编写我们的代码的依赖关系。 所以例如,如果我们的代码需要Python包imapclient我们可以在这里提到它,以便它将在imapclient文件构build之前安装。 但是如果我们的代码没有任何要求呢? 这条线是否重要 我们可以排除它,当我们不需要它。 所以现在让我们说,我们已经通过使用命令docker build -t python-hello-world .最终创build了我们的docker图像docker build -t python-hello-world . 。 我可以看到它使用命令docker images -a 。 现在,当我做docker ps ,它不在那里列出,因为容器没有运行。 现在开始,我将不得不做docker run python-hello-world 。 这将启动代码。 但是我希望它像Linux服务一样在后台运行。 怎么做。?

custon docker python image中的FileNotFoundError

我有一个Python代码,我打开一个文件,然后提取特定的数据。 以下是该代码: def get_mode(first, last): with open('/srv/config/mode.conf','r') as f: for line in f: if line.startswith(first): try: start = line.index(first) + len(first) end = line.index(last, start) return line[start:end] except ValueError: return "Default Mode" 当我执行python代码时,这工作正常。 但我想运行它作为docker,所以我已经使用下面的命令将其转换为docker的图像: sudo docker build -t mydocker . 上面的命令成功地将python代码转换成d​​ocker镜像。 然后我运行图像使用 sudo docker run -it mydocker 但它给错误: Traceback (most recent call last): File "./my_script.py", […]

如何跟踪一个docker集装箱上的pip安装包,以便在另一个docker集装箱中使用它们

我试图参与docker魔术,并有一个问题:我想运行容器,其中安装所有的python包,并在这个“源”容器后运行我的Python脚本,使用安装在第一个docker集装箱包? 我有一个dockerfile,我已经安装了python3和点子,并在dockercompose.yml文件我build立所有的要求在第一个容器 如何更新docker-compose.yml文件使第二个容器能够使用所有安装在另一个容器包上?

如何构buildDocker映像quciker

我目前正在构build一个docker镜像,并运行容器来运行我正在使用的Python应用程序中的一些testing。 目前,Dockerfile从主机复制文件,将工作目录设置为复制文件,运行sudo-apt获取并安装pip,最后从setup.py运行testing。 Dockerfile可以在下面看到。 `FROM ubuntu ADD . /home/dev/ProjectName WORKDIR /home/dev/ProjectName RUN apt-get update && \ apt-get install -y python3-pip && \ python3 setup.py test ` 我很好奇,是否有一种更传统的方式来避免每次运行testing时都需要运行apt-get和apt-get install pip。 我的主要想法是用pip已经build立一个图像,然后从那个build立这个图像。

简单的Pythondocker脚本

我有一个非常简单的Python脚本。 我试图让它从docker运行。 我简化了它,现在只是打印hello world 。 我的docker设置: [搬运工-compose.yaml] version: '2' services: dev: build: . volumes: – ./app.py:/app.py [Dockerfile] FROM ubuntu RUN apt-get update -y RUN apt-get install -y python python-pip python-dev build-essential libpq-dev ADD ./requirements /code/requirements RUN pip install –upgrade pip RUN pip install -r /code/requirements/base.txt VOLUME /app.py CMD ["python","/app.py"] 当我运行docker-compose时,出现以下错误: 错误:为开发无法启动服务开发:oci运行时错误:执行:“Python”:可执行文件找不到$ PATH 但是,docker应该被构build到Ubuntu Image中。 这是我用我的Python […]

/ bin / sh:1:运行docker容器时未findpython:

这是我的docker文件 FROM ubuntu:14.04 ADD ./file.py ./ CMD python file.py 我正在build设使用下面的命令: docker build -t myimage . 并运行使用此: docker run myimage 然后运行后得到下面的错误: /bin/sh: 1: python: not found 我该怎么做,文件file.py将被执行使用python?

Docker:如何看CMD 的输出/错误

我正在使用docker撰写多容器设置为我的项目。 为此,我需要一些数据在我的MongoDB图像,我已经创build了一个相同的Python文件。 现在在构build过程中,我只能在控制台中获取下面的消息,而不是其他任何stdout / sterr消息。 Step 12 : CMD python ./import_testdata.py —> Running in 352b86106f68 —> fe091f22c2db 我已经在我的dockerfile中尝试了下面的选项 CMD ["/bin/sh", "-c", "python import_testdata.py > server.log 2>&1"] CMD [ "python", "./import_testdata.py" ] 但我没有得到任何成功,也看不到任何错误/输出消息 在https://gist.github.com/dharmjit/a48ce2b6684b5a3f69a2056abca0b70b查看我的Dockerfile

docker运行pseudoTTY(-t)即时标准输出,缓冲发生没有它

我有一个python包,我正在一个容器内运行。 Dockerfile说: FROM frolvlad/alpine-python3 RUN apk –no-cache add ca-certificates COPY ./ /app/ RUN cd app && python3 setup.py install 现在,一旦图像被build立,当我运行它使用这个命令… docker run –env-file ./envfile myimg sh -c 'myscript "$username" "$password"' …需要一分钟才能看到任何types的标准输出。 我也必须停止从另一个terminal的容器(Ctrl + C什么都不做)。 但是当我运行图像使用 docker run -t –env-file ./envfile myimg sh -c 'myscript "$username" "$password"' (即join-t ),它的行为如预期(每5秒左右一些标准输出)。 这种行为的原因是什么? 我不知道究竟是什么原因造成的,因为我无法find相关的文件。