首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将Container的端口暴露给主机?

如何将Container的端口暴露给主机?
EN

Stack Overflow用户
提问于 2016-05-12 06:26:44
回答 1查看 729关注 0票数 0

所以我有我的项目,当安装在主机上时,使登录页面可用(通过嵌入式Tomcat服务器)为

代码语言:javascript
复制
https://127.0.0.1:8443/

现在我将其安装在ubuntu容器中,安装时使用的命令是

代码语言:javascript
复制
docker run -it --name lp --dns=122.17.213.214 --dns=122.26.00.10 --dns-search=corp.sfc.san -p 8080:8443 -v ~/Downloads/logs:/logs -v ~/Downloads:/installers ubuntu /bin/bash

当我这样做的时候,我无法在我的主机浏览器上访问它,我尝试的是

代码语言:javascript
复制
https://my-docker-machine-ip:8443/ # I am using Mac OSX

接下来,我想提供精确的映射,并尝试

代码语言:javascript
复制
docker run -it --name lp --dns=122.17.213.214 --dns=122.26.00.10 --dns-search=corp.sfc.san -p 192.168.99.100:8443:8443 -v ~/Downloads/logs:/logs -v ~/Downloads:/installers ubuntu /bin/bash  

并再次尝试相同的URL,但没有成功

我看到的是来自ApacheHTTP 404。我遗漏了什么?

但是在容器中,我看到了告诉我服务器正在运行的日志

代码语言:javascript
复制
11 May 2016 22:19:19,166 [INFO ] [main] EmbeddedWebServer    | Starting tomcat server on port 8443 ...
EN

回答 1

Stack Overflow用户

发布于 2016-05-12 06:49:20

语法为-p hostPort:ContainerPort。您的第一个示例语法正确,但端口“错误”(与您预期的相比)。

而不是:

代码语言:javascript
复制
docker run -it --name lp --dns=122.17.213.214 --dns=122.26.00.10 --dns-search=corp.sfc.san -p 8080:8443 -v ~/Downloads/logs:/logs -v ~/Downloads:/installers ubuntu /bin/bash

使用:

代码语言:javascript
复制
docker run -it --name lp --dns=122.17.213.214 --dns=122.26.00.10 --dns-search=corp.sfc.san -p 8443:8443 -v ~/Downloads/logs:/logs -v ~/Downloads:/installers ubuntu /bin/bash

然后

代码语言:javascript
复制
https://my-docker-machine-ip:8443/ # I am using Mac OSX

应该行得通。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37174304

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档