【问题标题】:how to start docker service with a specific port in linux (ubuntu/centos)如何在 linux (ubuntu/centos) 中使用特定端口启动 docker 服务
【发布时间】:2017-10-15 01:33:22
【问题描述】:

我只是尝试使用在 ubuntu 服务器中运行的特定端口启动 Docker 服务,以添加到监控服务 PRTG。但我找不到使用特定端口启动 Docker 的方法。有没有人在 linux 中使用特定端口启动 docker 服务?

【问题讨论】:

  • 您想在特定端口或正在运行的容器上自行启动服务吗?
  • yes Gabbax0r 我想在特定端口上自行启动服务
  • 为什么不只用 PRTG 监控它启动的端口而不是更改端口?
  • 您不接受我的回答是否有具体原因?
  • 抱歉,Yuri L 搞错了。

标签: ubuntu docker centos


【解决方案1】:

这个怎么样:

$ docker run -p 127.0.0.1:80:8080 ubuntu bash

这会将容器的 8080 端口绑定到主机 127.0.0.1 上的 80 端口。 https://docs.docker.com/edge/engine/reference/commandline/run/#publish-or-expose-port--p---expose

【讨论】:

  • 谢谢塞尔加罗斯。但这会将 Docker 容器本地绑定到容器内的 80 和 8080。我的要求是在本地服务器中使用端口启动 Docker 服务。
  • 我不明白你想要什么。
  • 我想在Docker服务启动时绑定一个端口。EX : (/etc/init.d/docker start)
  • 你不会以这种方式在特定端口上启动 docker
【解决方案2】:

我认为您正在寻找的是重启策略。您想在 Docker 守护进程启动时实现容器在指定端口启动,因此您必须指定 restart=always,它将在容器重新启动时(例如,在系统启动时)尝试启动容器。

您可以通过以下命令实现此目的。这将在主机端口 80(绑定到容器的端口 8000)中启动一个 ubuntu 容器,并在每次重新启动时重新启动它。

docker run --restart=always -p 80:8080 ubuntu

【讨论】:

    【解决方案3】:

    您似乎想要让 Docker 监听 tcp 套接字。

    为此,您需要在主机上配置 Docker 守护程序。

    方法取决于 Ubuntu 主机是使用 sysvinit/upstart 还是 systemd

    如果您使用的是 sysvinit/upstart,则需要编辑文件 /etc/default/docker 添加环境变量DOCKER_OPTS 并添加您想要的选项。

    您需要为 PRTG documentation 中涵盖的 Docker 守护程序设置私钥和证书。

    确保将列出的所有选项添加到DOCKER_OPTS /etc/default/docker 文件。

    【讨论】:

    • 谢谢 Yuri L,这对我有用。有什么办法可以将通配符证书添加到 Docker 服务。
    猜你喜欢
    • 2017-09-23
    • 1970-01-01
    • 1970-01-01
    • 2017-05-04
    • 1970-01-01
    • 2018-08-23
    • 2013-09-13
    • 2019-10-31
    • 2016-09-10
    相关资源
    最近更新 更多