首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何检测停靠守护进程端口

如何检测停靠守护进程端口
EN

Stack Overflow用户
提问于 2014-10-25 11:41:55
回答 6查看 147.6K关注 0票数 61

我安装了Ubuntu和Docker。我正试着发射莱克集装箱:

代码语言:javascript
运行
复制
$ DOCKER_RIAK_AUTOMATIC_CLUSTERING=1 DOCKER_RAIK_CLUSTER_SIZE=5 DOCKER_RIAK_BACKEND=leveldb make start-cluster ./bin/start

并获得错误消息:

环境变量DOCKER_HOST似乎没有被设置。除非已适当设置,否则无法启动Riak集群。例如: 出口DOCKER_HOST=://127.0.0.1:2375

如果我设置

代码语言:javascript
运行
复制
export DOCKER_HOST="tcp://127.0.0.1:2375"

所有其他容器停止工作,并说,那是找不到码头守护进程。

看起来我的码头达蒙使用的不是2375端口。我该怎么查呢?

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2014-10-25 21:51:48

默认情况下,停靠守护进程将使用unix unix:///var/run/docker.sock (您可以通过执行一个sudo netstat -tunlp来检查这种情况,并注意没有在任何端口上侦听停靠守护进程)。出于安全考虑,建议保留此设置,但听起来像Riak要求守护进程在TCP套接字上运行。

若要使用任何人都能连接到的TCP套接字启动停靠守护进程,请使用-H选项:

代码语言:javascript
运行
复制
sudo docker -H 0.0.0.0:2375 -d &

警告:--这意味着可以通过TCP与守护进程对话的机器可以获得对主机的根访问权。

相关文件:

http://basho.com/posts/technical/running-riak-in-docker/

https://docs.docker.com/install/linux/linux-postinstall/#configure-where-the-docker-daemon-listens-for-connections

票数 65
EN

Stack Overflow用户

发布于 2017-02-13 13:12:23

  1. 准备额外的配置文件。创建一个名为/etc/systemd/system/docker.service.d/docker.conf的文件。在文件docker.conf中,粘贴以下内容:
代码语言:javascript
运行
复制
[Service]
ExecStart=
ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock

注意,如果没有像docker.service.d这样的目录或名为docker.conf的文件,那么您应该创建它。

  1. 重新启动码头。保存此文件后,通过systemctl daemon-reload重新加载配置,并通过systemctl restart docker.service重新启动Docker。
  2. 检查您的Docker守护进程。重新启动docker服务之后,您可以在systemctl status docker.service输出中看到端口,比如/usr/bin/dockerd -H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock

希望这能帮上忙

谢谢!

票数 51
EN

Stack Overflow用户

发布于 2017-05-02 10:05:43

码头参考文档:https://docs.docker.com/install/linux/linux-postinstall/#configure-where-the-docker-daemon-listens-for-connections

配置停靠守护进程端口2的方法有

1)在/etc/default/docker文件下进行配置:

代码语言:javascript
运行
复制
DOCKER_OPTS="-H tcp://127.0.0.1:5000 -H unix:///var/run/docker.sock"

2)在/etc/docker/daemon.json上进行配置

代码语言:javascript
运行
复制
{
"debug": true,
"hosts": ["tcp://127.0.0.1:5000", "unix:///var/run/docker.sock"]
}

如果没有配置码头默认套接字,docker将等待无限时间。

代码语言:javascript
运行
复制
Waiting for /var/run/docker.sock
Waiting for /var/run/docker.sock
Waiting for /var/run/docker.sock
Waiting for /var/run/docker.sock
Waiting for /var/run/docker.sock

注意:但不要在两个配置文件中进行配置,可能会发生以下错误:

代码语言:javascript
运行
复制
Waiting for /var/run/docker.sock
unable to configure the Docker daemon with file /etc/docker/daemon.json: the following directives are specified both as a flag and in the configuration file: hosts: (from flag: [tcp://127.0.0.1:5000 unix:///var/run/docker.sock], from file: tcp://127.0.0.1:5000)

同时添加用户端口tcp://127.0.0.1:5000默认对接器的原因是,用户端口启用了对停靠器API的访问,而默认套接字则启用了CLI。如果/etc/ default /docker文件中没有提到默认的portunix://var/run/docker.sock,则可能会发生以下错误:

代码语言:javascript
运行
复制
# docker ps
Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?

此错误并不是因为对接器没有运行,而是因为默认的对接套接字没有启用。

一旦启用配置,请重新启动对接服务,并验证是否启用了对接端口:

代码语言:javascript
运行
复制
# netstat -tunlp | grep -i 5000
tcp        0      0 127.0.0.1:5000          0.0.0.0:*               LISTEN      31661/dockerd 

适用于码头版本17.04,可能因码头版本不同而有所不同。

票数 17
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26561963

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档