Tag: localhost

通过脚本访问服务器,两者都在同一个Docker容器中运行

我试图在Docker容器中运行node.js / mocha集成testing。 作为我的集成testing的一部分,我启动subprocess中的Web服务器(例如localhost:8000),然后查询不同的URL以查看是否一切按预期工作(例如localhost:8000 / some / file.json) – 容器内的所有内容。 一切工作在Docker容器之外,但是当我在Docker中运行时,好像本地主机无法正确parsing,以便请求保留在容器内。 如何通过本地主机访问在同一个Docker容器内运行的服务器? 例如,以下脚本在Docker容器中运行时会导致503错误。 var express = require('express'); var request = require('request'); request.debug = true; var port = 8000; var app = express(); app.use('/', express.static(__dirname)); app.listen(port, function() { console.log('server started', port); request('http://localhost:'+port+'/package.json', function(err, response) { console.log('err', err); console.log('status', response.statusCode); }); }); 我已经尝试了几件事情,如通过bash连接并使用curl来检查服务器是否正在运行。 当我将端口暴露给我的主机时,似乎服务器正常启动。 我在SO或Google上find的大多数主题都是关于将主机连接到Docker,但是我没有在Docker中find任何关于本地主机的信息。 任何帮助深表感谢! 更新: […]

Docker for Windows:使用本地主机

我在Windows 7上运行docker工具箱。我有3个容器, nginx , php , mysql 。 我明白,docker运行的虚拟机,并访问我的网站,我需要使用虚拟机IP而不是localhost 。 所以我的网站是在192.168.99.100 。 我需要像这样通过域名访问我的网站: mysite.com 。 我最近想到这一点是这样的: https : //github.com/docker/docker/issues/15740 但是这个问题还没有真正解决。 在我的Windows hosts文件中,我尝试过: 127.0.0.1 localhost mysite.com和192.168.99.100 mysite.com 当我尝试加载mysite.com时,仍然无法site can't be reached 。 如果我使用192.168.99.100该站点加载。 我该如何解决这个问题,或者甚至可以使用虚拟机?

从另一个容器(Docker)连接到postgresql容器

我正在尝试按照本教程设置一个postgresql容器。 我有以下脚本: #!/bin/bash # wait-for-postgres.sh set -e host="$1" shift cmd="$@" until psql -h "$host" -U "postgres" -c '\l'; do >&2 echo "Postgres is unavailable – sleeping" sleep 1 done >&2 echo "Postgres is up – executing command" exec $cmd 而下面docker-compose.yml : version: '2' services: server: build: . ports: – 3030:3030 depends_on: – database command: ["./setup/wait-for-postgres.sh", […]

如何从一个Ubuntu的容器wget localhost url?

我有一个Ubuntu的容器运行,但我不能wget本地主机运行我的docker图像。 例如,我使用运行docker的lenovo笔记本电脑。 然后我login到我的笔记本电脑启动并运行一个Ubuntu的容器。 当我ssh进入Ubuntu的容器,我无法wget localhost的url。 有没有办法将容器连接到本地主机? 也有多less种方式可以通过docker容器连接到本地主机。 这是我得到的错误消息 root@090cdf22ac53:/openchain# wget 127.0.0.1:8090 converted 'http://127.0.0.1:8090' (ANSI_X3.4-1968) -> 'http://127.0.0.1:8090' (UTF-8) –2017-09-01 04:41:22– http://127.0.0.1:8090/ Connecting to 127.0.0.1:8090… failed: Connection refused. 在此先感谢,所有类似的问题都不回答我的问题。

Docker镜像不公开

我有一个docker图像,在我已经完成的文件中运行完美 EXPOSE 8080 我用我的图片来运行 sudo docker run -p 8080 <image-name> <Argument1> <Argument2> 图像运行,但是当我去 localhost:8080 我得到页面未find错误。 有没有办法我可以看到一些响应或localhost上的东西:8080?

本地主机vs 0.0.0.0与Mac OS上的Docker

我正在阅读这里的文档,从运行起,我发现自己有些困惑 docker run –name some-mysql -p 3306:3306 -d mysql 要么 docker run –name some-mysql -p 127.0.0.1:3306:3306 -d mysql 那么mysql –host localhost –port 3306 -u root给我以下错误: 错误2002(HY000):无法通过套接字'/tmp/mysql.sock'(2)连接到本地MySQL服务器。 但是运行mysql -u root -p –host 0.0.0.0可以。 有人有解释吗?

docker集装箱之间的连接

我有一个docker-compose.yml,我创build了2个容器A和B. B是一个运行在端口8000上的web服务器,在我的docker-compose文件中我公开了8000端口 A在我的docker-compose-file中有一个到B的链接。 但是当我在B上发出一个GET请求时,我得到一个错误: GET http:// localhost:8000 dial tcp 127.0.0.1:8000拒​​绝 我该如何解决这个问题? docker-compose ps只是告诉我这个端口是8000 / tcp

docker运行初始化容器,但本地主机不加载(Windows 10)

我正在按照这个教程来使用splash来帮助我们抓取网页。我安装了Docker工具箱,并做了以下两个步骤: $ docker pull scrapinghub/splash $ docker run -p 5023:5023 -p 8050:8050 -p 8051:8051 scrapinghub/splash 我认为它运行正常,基于Docker窗口中提示的消息,看起来像这样: 但是,当我在Web浏览器中打开`localhost:8050'时,说localhost不能正常工作。 在这种情况下可能会出现什么问题? 谢谢!

datadog代理无法从docker容器内访问

我在Amazon linux ec2上安装了dd-agent。 如果我直接在主机上运行我的python脚本(我使用了名为“dogstatsd-python”的SDK),所有的指标都可以发送到datadog(我login到datadoghq.com并看到了指标)。 该脚本是这样的: from statsd import statsd statsd.connect('localhost', 8125) statsd.increment('mymetrics') 但是,我启动了一个docker容器并从容器中运行相同的脚本: from statsd import statsd statsd.connect('172.14.0.1', 8125) statsd.increment('my metrics') '172.14.0.1'是用命令提取的主机的IP地址 netstat -nr | grep '^0\.0\.0\.0' | awk '{print $2}' 没有度量标准被发送到datadog ….. 我猜测,也许这是由于一些configuration问题,如“地址绑定”。 也许我在主机上安装的dd-agent只能从“localhost”接收指标。 希望有人能帮助我。 先谢谢你。

无法从Docker容器内访问MacOSX主机上的端口

这些是我采取的步骤: Prework: 第一: docker-machine create -d virtualbox default 然后,我用下面的Dockerfile创build了一个容器: FROM centos:latest 没有别的 – 只是一个CentOS的副本。 我build立了容器: docker build -t mycontainer . 并运行它: docker run -it –net="host" –name="test" -p 9200:9200 mycontainer 问题:当我进入容器并尝试访问在MacOSX上运行的服务(例如简单的Web服务器或本地elasticsearch)时,我得到: curl localhost:9200 curl: (7) Failed connect to localhost:9200; Connection refused 我从我的dockervm( docker-machine ssh default )中得到相同的错误。 我尝试在virtualbox中设置端口转发,设置9200到9200 – 但是没有帮助。 有任何想法吗?