Tag: exec

当通过Node.jssubprocess同步执行时,Docker拉不能实时下载大小/总大小

当我运行docker pull my-image从我的terminaldocker pull my-image这是我的输出如何。 59e69571f6c7: Pull complete 43da27f69c98: Pull complete d22174e9eddd: Pull complete cc0ac48a6d21: Downloading 312.3 MB/2.888 GB b47aa969d5dc: Download complete 当我运行一个Node.js代码 const { exec } = require('child_process'); exec('docker pull my-image', (error, stdout, stderr) => { if (error) { console.error('exec error: ${error}'); return; } console.log('stdout: ${stdout}'); console.log('stderr: ${stderr}'); }); 我的输出看起来像这样。 c49bda5ed612: Waiting 43da27f69c98: Verifying […]

logstashconfiguration执行命令进行弹性search

我正在通过主机ubuntu 16.04在3个docker容器中运行一个ELK堆栈。问题是configuration了logstash.conf文件来执行像“ifconfig”或“netstat -ano”这样的命令后出现错误。 我的logstash.conf文件是: input { exec { command => "netsat -ano" codec => "json" interval => 5 } } output{ elasticsearch { hosts => ["elasticsearch:9200"]} } i get this error after entering this command ( docker run -h logstash –name logstash –link elasticsearch:elasticsearch -it –rm -v "$PWD":/config-dir logstash -f /config-dir/logstash1.conf) 14:29:30.703 [[main]<exec] ERROR logstash.inputs.exec […]

在python Docker容器中执行wait-for-it.sh

我有一个Pythondocker容器,需要等到另一个容器(postgres服务器)完成设置。 我尝试了标准的wait-for-it.sh,但没有包含几个命令。 我尝试了一个基本的睡眠(再次在一个sh文件中),但现在报告exec: 300: not found试图终于执行我正在等待的命令时exec: 300: not found 。 我如何解决这个问题(最好不要改变图像,或者不得不扩展图像)。 我知道我也可以运行一个Python脚本,但理想情况下,我想使用wait-for-it.sh来等待服务器启动而不只是睡眠。 Dockerfile(用于填充): FROM python:2.7.13 ADD ./stuff/bin /usr/local/bin/ ADD ./stuff /usr/local/stuff WORKDIR /usr/local/bin COPY requirements.txt /opt/updater/requirements.txt COPY internal_requirements.txt /opt/stuff/internal_requirements.txt RUN pip install -r /opt/stuff/requirements.txt RUN pip install -r /opt/stuff/other_requirements.txt 泊坞窗,compose.yml: version: '3' services: local_db: build: ./local_db ports: – "localhost:5432:5432" stuffer: build: ./ depends_on: – local_db […]

当使用docker / fig运行Django dev服务器时,为什么一些日志输出被隐藏了?

我正在写一个Dockerfile,它需要运行多个命令作为CMD指令的一部分,我认为正确的方法是运行一个shell脚本,通过exec执行主守护进程。 不幸的是,作为这个过程的一部分,我的一些输出(stdout?stderr?我不知道,我也不知道如何发现)会丢失。 这是shell脚本: #!/bin/sh python manage.py migrate exec python manage.py runserver 0.0.0.0:8000 这个想法是, migrate命令只运行一次,其输出显示,然后runserver命令应该接pipe,容器运行,直到该进程退出。 实际的问题是migrate的输出显示正确,但runserver的直接输出不显示。 奇怪的是,以后的runserver请求logging显示得很好。 为了澄清,这是我期望的输出: […] No migrations to apply. […] Starting development server at http://0.0.0.0:8000/ Quit the server with CONTROL-C. [21/Jan/2015 16:27:06] "GET / HTTP/1.1" 200 15829 这是我得到的东西: […] No migrations to apply. […] [21/Jan/2015 16:27:06] "GET / HTTP/1.1" 200 15829 我甚至不知道这是谁的错。 […]