小编Ily*_*mov的帖子

将docker容器环回绑定到主机环回

我拉了一个 docker 镜像(将使用 python 3 作为示例)

docker pull python:3.6
Run Code Online (Sandbox Code Playgroud)

然后我启动一个 docker 容器

docker run -it -p 127.0.0.1:8000:8000 python:3.6 bash
Run Code Online (Sandbox Code Playgroud)

(请注意,这里 127.0.0.1:8000:8000 中的 127.0.0.1 允许指定目的地、主机 IP,但不能指定源)

因此,如果我在容器内启动服务器(地址为 0.0.0.0):

python -m http.server 8000 --bind 0.0.0.0
Run Code Online (Sandbox Code Playgroud)

然后我可以通过在主机上访问http://127.0.0.1:8000从主机访问容器的服务器,没有任何问题

但是,如果我的 docker 服务器绑定到 127.0.0.1 而不是 0.0.0.0:

python -m http.server 8000 --bind 127.0.0.1
Run Code Online (Sandbox Code Playgroud)

然后从主机访问http://127.0.0.1:8000不起作用。

将容器的环回 127.0.0.1 绑定到主机环回的正确方法是什么?

networking containers python-3.x docker

5
推荐指数
2
解决办法
1万
查看次数

F#部分应用第二个参数

在F#中如果我接受一个带有两个参数的函数,例如,mod(%):

13 % 10
// val it : int = 3
Run Code Online (Sandbox Code Playgroud)

这是一样的

(%) 13 10
// val it : int = 3
Run Code Online (Sandbox Code Playgroud)

是否有任何方法可以用管道符号写出来,把13?

显然,"双参数函数"实际上是一个返回中间函数的单参数函数.管道也可以

10 |> (%) 13
// val it : int = 3
Run Code Online (Sandbox Code Playgroud)

但是,我需要另一种方法,即管道第一个参数13,第二个参数10部分应用,但不是第一个参数.

语言中是否有任何有助于这样做的东西,而不是每次都创建额外的lambdas,即避免以下情况?

13 |> (fun x -> x % 10)
Run Code Online (Sandbox Code Playgroud)

f# functional-programming currying partial-application

5
推荐指数
1
解决办法
954
查看次数