我是Docker的新手。我在docker run命令中找不到对此选项的任何清晰描述,对此有些困惑。
我们可以使用它来访问在docker容器上运行的应用程序而无需指定端口吗?例如,如果我使用-p 8080:8080
docker
run命令中的选项运行通过端口8080中的docker映像部署的webapp ,我知道我将必须在Docker容器ip /
theWebAppName的8080端口上访问它。但是我真的无法想到--net=host
期权的运作方式。
在docker安装之后,默认情况下您具有3个网络:
docker network ls
NETWORK ID NAME DRIVER SCOPE
f3be8b1ef7ce bridge bridge local
fbff927877c1 host host local
023bb5940080 none null local
我试图保持这种简单。因此,如果默认情况下启动容器,它将在网桥(docker0)网络内创建。
$ docker run -d jenkins
1498e581cdba jenkins "/bin/tini -- /usr..." 3 minutes ago Up 3 minutes 8080/tcp, 50000/tcp friendly_bell
在詹金斯的dockerfile中,端口8080
和50000
被暴露。这些端口在其桥接网络上为容器打开。因此,该桥接网络中的所有内容都可以访问端口8080
和上的容器50000
。桥接网络中的所有内容都在的私有范围内。"Subnet": "172.17.0.0/16",
如果要从外部访问它们,则必须使用映射端口-p 8080:8080
。这会将容器的端口映射到真实服务器(主机网络)的端口。因此,在上访问服务器8080
将路由到port上的网桥8080
。
现在您也有了主机网络。不会将容器网络化。因此,如果您在主机网络中启动容器,它将看起来像这样(这是第一个容器):
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
1efd834949b2 jenkins "/bin/tini -- /usr..." 6 minutes ago Up 6 minutes eloquent_panini
1498e581cdba jenkins "/bin/tini -- /usr..." 10 minutes ago Up 10 minutes 8080/tcp, 50000/tcp friendly_bell
区别在于端口。您的容器现在位于主机网络中。因此,如果您8080
在主机上打开端口,则将立即访问该容器。
$ sudo iptables -I INPUT 5 -p tcp -m tcp --dport 8080 -j ACCEPT
我已经8080
在防火墙中打开了端口,当我现在在端口上8080
访问服务器时,我正在访问我的詹金斯。我认为此博客对于更好地理解它也很有用。
从文档中可以看出,-Xss用于设置JVM的堆栈大小。但我对这一说法感到非常困惑。 在Java中,每个线程都有自己的堆栈。-Xss指定的数字是否: > 线程的每个堆栈的大小。e、 如果将-Xss设置为256K,则每个线程将有一个256K大的堆栈。因此,10个线程将总共使用2560K。 非常感谢你。 编辑: 谢谢你的回答。看起来像是上面的(2)senario-Xss指定特定线程的最大堆栈大小。 然后我
我正试图把我的头缠在Apache Mesos上,需要澄清几个项目。 我对Mesos的理解是,它是一个安装在集群中的每个物理/VM服务器(“节点”)上的可执行文件,然后提供一个Java API(不知何故),将每个单独的节点视为计算资源(CPU/RAM/等)的集体池。因此,对于使用Java API编码的程序,他们只看到一组资源,而不必担心如何/在哪里部署代码。 因此,首先,我在这里的理解可能是根本错误
我在看一个典型的for循环: 我对int I=1后的分号很满意:它是一个声明新变量的语句。如果i也是一个语句,为什么后面没有分号? 另一个例子。我打开Jshell并放置以下内容: 换句话说,命令可以工作,与是否有分号无关。我希望没有它就无法工作。 最后一个示例(改编自关于
我已经回答了一个关于Python中的绝对导入的问题,我认为通过阅读Python2.5更改日志和附带的PEP我理解了这个问题。但是,在安装Python2.5并尝试创建一个从__future__import absolute_import中正确使用
我只是第一次涉足iOS开发,我必须做的第一件事就是实现一个自定义容器视图控制器——让我们称之为SideBarViewController——它交换了几种可能的视图控制器中的哪一种它显示的子视图控制器,几乎与标准的Tab Bar Controller一模一样。(它几乎是一个标签栏控制器,但有一个可隐藏的侧菜单,而不是标签栏。) 根据Apple文档中的说明,每当我向容器中添加子ViewControll
问题内容: 说实话,我一直感到困惑,并且,所以我决定做一个测试: : root@115c89122e72:/# ls bin boot dev etc home lib lib64 media mnt opt proc root run sbin srv sys tmp usr var 它正常工作。 : ^C 该命令挂起,我必须使用+ 来中断它。 : root@115c89122e72:/# ls