您现在的位置是:首页 >其他 >Docker 启动参数网站首页其他
Docker 启动参数
整改
ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock
修改监听地址为本地127.0.0.1,不允许支持远程访问
ExecStart=/usr/bin/dockerd -H tcp://127.0.0.1:2375 -H unix:///var/run/docker.sock
说明
这两个命令都是启动 Docker 服务的命令,但是有一些区别。
第一个命令:
ExecStart=/usr/bin/dockerd -H tcp://127.0.0.1:2375 -H unix:///var/run/docker.sock
- 使用两个监听地址,一个是 TCP 协议的 127.0.0.1:2375,一个是 Unix Socket 的 /var/run/docker.sock。
- 这个命令会启动 Docker daemon,但是它不会启动容器运行时(containerd 或者 CRI-O)。
第二个命令:
ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock
- 使用一个监听地址,fd://,它会监听来自 systemd 的文件描述符。
- 使用 containerd 作为容器运行时。
- 这个命令会启动 Docker daemon 和容器运行时。
fd://
是一个特殊的监听地址,用于 Docker 中的某些网络插件(如systemd
插件)。它是与 Systemd 服务管理器配合使用的一种机制。
在 Linux 系统中,Systemd 是一个广泛采用的初始化系统和服务管理器。它可以通过文件描述符(File Descriptor)传递信息和通信。
fd://
地址用于指示 Docker 使用 Systemd 服务管理器传递文件描述符,以实现容器与宿主机之间的通信。
当 Docker 容器需要与宿主机上的 Systemd 进程通信时,可以通过使用 fd://
地址来监听 Systemd 的文件描述符。这样,容器内的进程就可以通过这个文件描述符与 Systemd 进程进行通信,实现与宿主机上的 Systemd 进程的交互。
使用 fd://
地址需要特定的网络插件和配置。通常情况下,这种配置是由 Docker 网络插件或容器运行时的配置来管理的。
需要注意的是,使用 fd://
地址和 Systemd 插件需要特定的环境和配置,并且这种机制与 Docker 默认的网络配置和通信方式有所不同。因此,具体的使用和配置方法可能因系统和环境而异。如果你需要更详细的信息,建议参考相关的文档和配置指南,以确保正确配置和使用 fd://
地址。
在 Docker 中,Systemd 插件是一种网络插件,用于集成 Docker 容器与宿主机上的 Systemd 服务管理器。它允许容器在启动时,通过 Systemd 机制来管理和监控系统服务。
当使用 Systemd 插件时,Docker 容器可以通过 Systemd 单元文件来定义和管理运行在容器内的服务。这些服务可以由 Systemd 进程监控,并根据定义的配置进行自动启动、停止和重启。
Systemd 插件提供了以下功能:
- 容器内服务管理:通过 Systemd 单元文件定义和管理容器内的服务。
- 自动启动和重启:容器内的服务可以由 Systemd 进程自动启动,并在发生故障或容器重启时自动重启。
- 日志管理:Systemd 插件可以将容器内的服务日志转发到宿主机上的 Systemd 日志系统,使得容器内的日志可以与宿主机的系统日志进行集中管理和分析。
使用 Systemd 插件可以使得容器中的服务管理更加灵活和集成化,能够充分利用 Systemd 在系统级别的服务管理和监控功能。
请注意,Systemd 插件的使用可能需要特定的配置和环境支持。具体的安装和配置步骤可能因 Docker 版本和操作系统而异。建议参考 Docker 和相关网络插件的文档,以获取更详细的信息和配置指南。
修改步骤
要修改Docker的监听地址为本地127.0.0.1,不允许支持远程访问,需要编辑docker.service文件:
- 打开终端,输入以下命令以编辑docker.service文件:
vi docker.service
- 输入密码确认,然后在编辑器中添加以下内容:
[Service]
ExecStart=
ExecStart=/usr/bin/dockerd -H tcp://127.0.0.1:2375 -H unix:///var/run/docker.sock
-
保存并退出编辑器。
-
重新加载systemd配置:
sudo systemctl daemon-reload
- 重启Docker服务:
sudo systemctl restart docker.service
现在,Docker已经配置为仅允许本地访问。要使用Docker命令,需要在本地终端上运行它们。