从内部网络中的另一台机器访问Docker容器

马克·戴维斯

我正在尝试使用docker在树莓派上运行asp.net核心应用程序,我想我的主要部分不在其中。我在github上有一个存储库,它是一个简单的asp.net核心项目。我已经在docker cloud上设置了一个帐户,该帐户在每次推送到github存储库时都会建立。

我已经将docker将我的存储库拉到我的pi上: pi上的docker映像的屏幕截图

我运行命令:docker run -d -p 8080:80 joro550/radiusnet --network=host并且可以看到它正在运行:Docker映像正在运行的映像

但是,当我在端口8080上转到pi的ip地址时,会得到以下信息: 连接被拒绝的屏幕截图

当我一直在寻找这些人时,建议添加这些标志(我尝试过并得出相同的结果:

  • 将--network = host添加到docker run命令
  • adding -it to the docker run command
  • Adding Expose 80 into the docker file

I think at this point I'm at a bit of a lose as to how to access this thing. The docker documentation does suggest running

`docker inspect -f "{{ .NetworkSettings.Networks.nat.IPAddress }}" myapp`

If I'm using windows 10 Nano containers, which I don't believe I'm using but when I run this command I get a resounding <no value>

Cutting it back to docker inspect -f "{{ .NetworkSettings.IPAddress }}" myapp gives me a different ip address to my ips internal ip address, which I've tried on port 8080 and get the same result

Doing a curl on both addresses gives me the same result of connection refused: 卷曲失败的IP地址

Here's my docker file for anyone interested:

FROM microsoft/aspnetcore-build:2.0 AS build-env
WORKDIR /app

# copy csproj and restore as distinct layers
COPY /src ./
RUN dotnet restore

# copy everything else and build
COPY . ./
RUN dotnet publish -c Release -o out -r linux-arm

# build runtime image
FROM microsoft/dotnet:2.0.0-runtime-stretch-arm32v7
WORKDIR /app
COPY --from=build-env /app/src/RadiusNet.Web/out .
EXPOSE 80
ENTRYPOINT ["dotnet", "RadiusNet.Web.dll"]

If any more information is needed please ask, I'm pretty new to Docker so I just did a bit of a knowledge dump of my current situation.

链接到github项目(如果需要):https : //github.com/joro550/RadiusNet

任何帮助-在这一点上将不胜感激

杰拉德·皮尔

首先有几点评论

  • 在Dockerfile中,“ EXPOSE 80”由“ docker run -P”,“ publish all”使用
  • 发布端口不服务的端口是没有用的(例如,当服务在端口5000上运行时,“-p 8000:80”

侦听端口由“ docker端口”报告,但不保证将为它们提供服务。

# docker run --name radiusnet -p 8001-8009:5000/tcp  radiusnet
Hosting environment: Production
Content root path: /app
Now listening on: http://localhost:5000
Application started. Press Ctrl+C to shut down.

# docker port radiusnet
5000/tcp -> 0.0.0.0:8001

布丁的证明...

# wget -O /tmp/test.html  http://localhost:8001/
--2018-02-08 16:22:46--  http://localhost:8001/
Resolving localhost (localhost)... 127.0.0.1
Connecting to localhost (localhost)|127.0.0.1|:8001... connected.
HTTP request sent, awaiting response... 

如果失败,则发布了错误的端口。

当以“-网络主机”启动时,“ docker端口”可能不报告任何内容,而docker服务良好。“ lsof”可以提供帮助。

# docker run --name radiusnet --network host  radiusnet
Hosting environment: Production
Content root path: /app
Now listening on: http://localhost:5000

# docker port radiusnet 

# ps -ef | grep dotnet
root       540 27973  0 16:46 pts/2    00:00:00 grep dotnet
root     32452 32437  7 16:37 ?        00:00:43 dotnet RadiusNet.Web.dll

# lsof -Pn -p 32452 | grep LISTEN
dotnet  32452 root  368u     IPv4     106845      0t0    TCP 127.0.0.1:5000 (LISTEN)
dotnet  32452 root  383u     IPv6     106854      0t0    TCP [::1]:5000 (LISTEN)

# wget -O /tmp/test.html  http://localhost:5000/       
--2018-02-08 16:56:27--  http://localhost:5000/
Resolving localhost (localhost)... 127.0.0.1
Connecting to localhost (localhost)|127.0.0.1|:5000... connected.
HTTP request sent, awaiting response... 200 OK
Length: unspecified [text/html]
Saving to: ‘/tmp/test.html’

一切都很好,就一切都好。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何从本地网络上的另一台机器访问Docker容器

来自分类Dev

如何从局域网上的另一台机器访问Docker容器

来自分类Dev

访问酒店受保护网络中的另一台机器

来自分类Dev

无法从同一网络中的另一台机器访问 apprtc

来自分类Dev

通过另一台计算机访问内部网络IP

来自分类Dev

从不在 docker 容器和另一台机器中的其他应用程序调用或与一台机器上的 docker 容器通信

来自分类Dev

通过脚本从本地网络中的另一台机器重启debian机器

来自分类Dev

hadoop getmerge到另一台机器

来自分类Dev

从另一台机器查看ServicePulse

来自分类Dev

从另一台机器导入MDF

来自分类Dev

来自另一台机器的ssh命令

来自分类Dev

使用IP地址从另一台机器访问Pouchdb

来自分类Dev

如何从另一台机器访问我的HDFS文件系统?

来自分类Dev

如何从另一台机器访问XML文件

来自分类Dev

在不提交的情况下从另一台机器访问本地git进度

来自分类Dev

如何访问Docker内部的另一台主机?

来自分类Dev

如何从另一台机器连接到Docker API?

来自分类Dev

Libertine容器声音在一台机器上不起作用,而在另一台机器上起作用

来自分类Dev

Libertine容器声音在一台机器上不起作用,而在另一台机器上起作用

来自分类Dev

从另一台机器恢复后如何修复 Grub 中的 UUID?

来自分类Dev

将python中的第三方模块从一台机器迁移到另一台机器

来自分类Dev

无法将局域网中的一台机器的远程git repo推送到另一台机器

来自分类Dev

如何从一台机器到另一台机器执行批量插入到 SQLServer 中?

来自分类Dev

存储过程在一台机器上成功但在另一台机器上失败?

来自分类Dev

PHP multi curl在一台机器上工作,在另一台机器上失败

来自分类Dev

一台机器如何ping另一台机器,但是反向ping不起作用

来自分类Dev

如何将端口从一台机器转发到另一台机器?

来自分类Dev

存储过程在一台机器上成功但在另一台机器上失败?

来自分类Dev

如何在一台机器上编译幻象,然后在另一台机器上“移植”?

Related 相关文章

  1. 1

    如何从本地网络上的另一台机器访问Docker容器

  2. 2

    如何从局域网上的另一台机器访问Docker容器

  3. 3

    访问酒店受保护网络中的另一台机器

  4. 4

    无法从同一网络中的另一台机器访问 apprtc

  5. 5

    通过另一台计算机访问内部网络IP

  6. 6

    从不在 docker 容器和另一台机器中的其他应用程序调用或与一台机器上的 docker 容器通信

  7. 7

    通过脚本从本地网络中的另一台机器重启debian机器

  8. 8

    hadoop getmerge到另一台机器

  9. 9

    从另一台机器查看ServicePulse

  10. 10

    从另一台机器导入MDF

  11. 11

    来自另一台机器的ssh命令

  12. 12

    使用IP地址从另一台机器访问Pouchdb

  13. 13

    如何从另一台机器访问我的HDFS文件系统?

  14. 14

    如何从另一台机器访问XML文件

  15. 15

    在不提交的情况下从另一台机器访问本地git进度

  16. 16

    如何访问Docker内部的另一台主机?

  17. 17

    如何从另一台机器连接到Docker API?

  18. 18

    Libertine容器声音在一台机器上不起作用,而在另一台机器上起作用

  19. 19

    Libertine容器声音在一台机器上不起作用,而在另一台机器上起作用

  20. 20

    从另一台机器恢复后如何修复 Grub 中的 UUID?

  21. 21

    将python中的第三方模块从一台机器迁移到另一台机器

  22. 22

    无法将局域网中的一台机器的远程git repo推送到另一台机器

  23. 23

    如何从一台机器到另一台机器执行批量插入到 SQLServer 中?

  24. 24

    存储过程在一台机器上成功但在另一台机器上失败?

  25. 25

    PHP multi curl在一台机器上工作,在另一台机器上失败

  26. 26

    一台机器如何ping另一台机器,但是反向ping不起作用

  27. 27

    如何将端口从一台机器转发到另一台机器?

  28. 28

    存储过程在一台机器上成功但在另一台机器上失败?

  29. 29

    如何在一台机器上编译幻象,然后在另一台机器上“移植”?

热门标签

归档