我可能遗漏了一些可笑的东西,但我试图向我的主机(Mac)公开的每个docker容器似乎都不起作用。我可以看出这些容器正在运行,并且似乎已经正确地暴露在我选择的端口中。我错过了什么明显的东西吗?任何帮助都将不胜感激。
我下载了最新的ElasticSearch图像:https://www.elastic.co/guide/en/elasticsearch/reference/current/docker.html
运行Docker:Docker运行-d-p9200:9200 Docker。有弹力的co/elasticsearch/elasticsearch:5.4.0
请求查看正在运行的图像:docker ps
查看运行图像:5e8ae3b13f7c docker。有弹力的co/elasticsearch/elasticsearch:5.4.0“/bin/bash-bin/es-…”4秒前上升4秒0.0.0.0:9200-
运行lsof以查看端口9200 lsof-i tcp:9200上是否有任何暴露
一无所获
Mac OS: 10.12.4
Docker更新版本:
docker version
Client:
Version: 17.04.0-ce
API version: 1.27 (downgraded from 1.28)
Go version: go1.7.5
Git commit: 4845c56
Built: Wed Apr 5 23:33:17 2017
OS/Arch: darwin/amd64
Server:
Version: 17.03.1-ce
API version: 1.27 (minimum version 1.12)
Go version: go1.7.5
Git commit: c6d412e
Built: Mon Mar 27 16:58:30 2017
OS/Arch: linux/amd64
Experimental: false
下载了nmap并对9200localhost运行。还确保9200现在在 /etc/pf.conf.打开
Nmap scan report for localhost (127.0.0.1)
Host is up (0.00016s latency).
Other addresses for localhost (not scanned): ::1
PORT STATE SERVICE
9200/tcp closed wap-wsp
也尝试在mac的IP上使用docker机器:
docker-machine ip default
192.168.99.100
Tried 192.168.99.100:9200 and still no luck
你知道,看起来下载的图像或docker安装有问题。我重复了你的步骤-一切正常:
[06:40 PM] borlaze@mac: /tmp $ docker run -d -p 9200:9200 docker.elastic.co/elasticsearch/elasticsearch:5.4.0
[06:41 PM] borlaze@mac: /tmp $ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
fd05a1fe9b5a docker.elastic.co/elasticsearch/elasticsearch:5.4.0 "/bin/bash bin/es-..." 9 seconds ago Up 7 seconds 0.0.0.0:9200->9200/tcp, 9300/tcp practical_bell
[06:41 PM] borlaze@mac: /tmp $ lsof -i tcp:9200
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
com.docke 32108 borlaze 21u IPv4 0x601aa3189a6fc3e3 0t0 TCP *:wap-wsp (LISTEN)
com.docke 32108 borlaze 22u IPv6 0x601aa318a167e6cb 0t0 TCP localhost:wap-wsp (LISTEN)
在OS 10.12.4上检查,docker
[06:45 PM] borlaze@mac: /tmp $ docker version
Client:
Version: 17.03.1-ce
API version: 1.27
Go version: go1.7.5
Git commit: c6d412e
Built: Tue Mar 28 00:40:02 2017
OS/Arch: darwin/amd64
Server:
Version: 17.03.1-ce
API version: 1.27 (minimum version 1.12)
Go version: go1.7.5
Git commit: c6d412e
Built: Fri Mar 24 00:00:50 2017
OS/Arch: linux/amd64
Experimental: true
尝试删除图像并重复。
主机:Mac OS X 10.10.5 Docker 1.10.1 我做过这样的事: 步骤1:为永久postgres数据创建卷 -->没有打开端口5432 更新2:更陌生。我也这样做过: 阻止Docker。然后,在我的主机中运行一个普通的PostgreSQL 9.4.4实例(这里不涉及docker,只在Mac OS X主机中运行postgres,监听端口5432)。一切正常: 为什么? 有道理吗?
我有一个正在运行的MySQL容器,我在里面导入了很多数据(花了我几个小时)。 现在,我想在主机上使用GUI应用程序(DBeaver)从这个容器中查询数据。有没有一种方法可以将正在运行的容器的网络公开给主机,以便连接到它? 我一直在四处寻找,到目前为止最有希望的选择是运行一个带有标签的新容器,但是当我这样做的时候,所有导入的数据都不见了。 谢谢你!
请考虑以下 我将端口连接到主机,以便管理我的服务,但这些服务只需使用默认的docker网络就可以相互访问。例如,运行在上的程序可以访问并且一些DNS魔术将使其工作。我想将我的主机添加到这个网络中,这样我就可以通过其主机名:port访问容器的端口。
根据定义,在docker-compose文件中,函数是在主机端口还是在容器端口? 遵循约定还是约定? 上面的示例代码究竟是如何处理端口的?
我想从一个服务器设置服务多个站点: 到目前为止,我只发现docker在使用静态IPS时进行端口重定向。 是否可以通过主机名使用docker进行端口重定向? 我使用一个免费的亚马逊EC2 Insance。 谢谢博
我有一个关于这个问题的问题https://hub.docker.com/r/jupyter/scipy-notebook.我正在尝试使用docker compose运行此图像: 组成: Dockerfile 我用手够不着它http://locahost:8888 .... 网址。我使用Windows10作为主机,并尝试从这个docker compose和这些工作中访问其他服务。