在 Mac OS 上运行 Graphviz docker 容器"Docker: invalid publish opts format "错误



我是 docker 的新手,是第一次使用它。

我已经安装了适用于Mac OS的Docker桌面并成功运行了"Hello-world"容器。我现在正在尝试从 https://hub.docker.com/r/omerio/graphviz-server 运行这个"omerio/graphviz-server"(这是我真正想要Docker的目的(,尽管"docker pull omerio/graphviz-server"命令成功完成:

devops$ docker pull omerio/graphviz-server
Using default tag: latest
latest: Pulling from omerio/graphviz-server
863735b9fd15: Pull complete 
4fbaa2f403df: Pull complete 
44be94a95984: Pull complete 
a3ed95caeb02: Pull complete 
ae092b5d3a08: Pull complete 
d0edb8269c6a: Pull complete 
Digest: sha256:02cd3e2355526a927e951a0e24d63231a79b192d4716e82999ff80e0893c4adc
Status: Downloaded newer image for omerio/graphviz-server:latest

启动容器的命令(在 https://hub.docker.com/r/omerio/graphviz-server 上给出(: 'docker run -d -p : omerio/graphviz-server'给了我错误消息:

devops$ docker run -d -p : omerio/graphviz-server
docker: invalid publish opts format (should be name=value but got ':').
See 'docker run --help'.

搜索此错误消息根本不返回任何信息。我看到有问题的容器上次更新是在 3 年前 - 它可能是 Docker 不再支持的旧格式吗?

-p docker run命令的选项绑定主机和容器之间的端口(请参阅文档(,其用法大部分时间如下:

docker run <other options> 
    -p <port on the host>:<port in the container> 
    <my_image> <args>

至于你的例子:运行图像似乎需要一个参数(容器中的端口(。例如,让我们选择8080(这意味着容器内的应用程序将使用端口8080(。

如果你想直接在你的主机上访问它(通过 localhost (,你应该8080端口(在容器中,我们之前选择的端口(绑定到主机上的任何可用端口(假设8081(,如下所示:

docker run 
    -p 8081:8080 
    omerio/graphviz-server 8080

现在,您应该能够通过 localhost:8081 从主机访问应用程序(容器中运行的应用程序的端口 8080(。

相关内容

最新更新