gpt4 book ai didi

r - Docker 和 Plumber 的端口转发问题

转载 作者:行者123 更新时间:2023-12-04 10:00:59 25 4
gpt4 key购买 nike

我正在尝试通过 Docker 公开我的管道工服务器。我从 RStudio 中的水管工那里收到一条日志,表明它正在监听我想要的端口。 swagger 启动并运行良好(该 API 通过我的浏览器中的 swagger 通过 Rstudio 8787 的公开端口连接,工作正常)。

我运行此命令为:

docker run -e PASSWORD=rstudio --rm -it -p 8787:8787 -p 3038:3038 -v "/Users/my_name/Google Drive/r_files":"/home/rstudio/r-docker-tutorial" rocker/verse

如果我这样做:

curl http://localhost:3038

我收到“服务器回复为空”

同样,如果我尝试在 Postman 中访问我的端点,我会收到“无法得到任何响应”

看来该端口没有被 Docker 成功代理,但我有点卡住了,因为这没有多大意义!

有人有什么想法吗?

谢谢

最佳答案

这是我们用来公开管道工 API 的 Dockerfile 模板:

Dockerfile

FROM rocker/r-ver:4.0.0

WORKDIR /src

RUN apt-get update && apt-get install -y --no-install-recommends \
git-core \
libssl-dev \
libz-dev \
libcurl4-gnutls-dev \
libsodium-dev

RUN install2.r --error plumber \
data.table \
xgboost

COPY ./startup.R /var
COPY ./plumber.R /var

EXPOSE 8004
ENTRYPOINT ["R", "-f", "/var/startup.R", "--slave"]

启动.R

library(plumber)
pr <- plumb("plumber.R")
pr$run(host = "0.0.0.0", port = 8004)

水管工.R

#* Health check
#* @get /
#* @serializer unboxedJSON
function() {
list(status = "OK")
}

关于r - Docker 和 Plumber 的端口转发问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61824830/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com