Docker启动参数超详细讲解

 更新时间:2024年01月22日 09:59:51   作者:喝醉酒的小白  
在启动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命令,需要在本地终端上运行它们。

总结

到此这篇关于Docker启动参数的文章就介绍到这了,更多相关Docker启动参数内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Docker容器服务编排利器详解

    Docker容器服务编排利器详解

    这篇文章主要介绍了Docker容器服务编排利器,主要包括使用使用Docker Compose必要性及定义及一些Docker Compose应用参考资料,本文给大家介绍的非常详细,需要的朋友可以参考下
    2022-07-07
  • docker中容器的网络配置常用命令详解

    docker中容器的网络配置常用命令详解

    这篇文章主要介绍了docker中容器的网络配置常用命令详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-10-10
  • Docker Compose部署Nginx的方法步骤

    Docker Compose部署Nginx的方法步骤

    本文主要介绍了Docker Compose部署Nginx的方法步骤,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-02-02
  • docker获取Let''s Encrypt永久免费SSL证书的方法

    docker获取Let''s Encrypt永久免费SSL证书的方法

    在本篇文章里小编给大家分享了一篇关于docker获取Let's Encrypt永久免费SSL证书的方法,以后需要的朋友们可以参考下。
    2021-01-01
  • Windows11安装Docker Desktop教程的图文教程

    Windows11安装Docker Desktop教程的图文教程

    本文主要介绍一下Windows11安装Docker Desktop教程的图文教程,文中通过图文介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2024-10-10
  • docker如何安装mysql

    docker如何安装mysql

    这篇文章主要介绍了docker如何安装mysql,总结了安装心得,帮助大家更好的使用docker镜像,感兴趣的朋友可以了解下
    2020-10-10
  • docker 容器添加指定网络地址的方法实现

    docker 容器添加指定网络地址的方法实现

    Docker容器运行的时候默认会自动分配一个默认网桥所在网段的IP地址,本文主要介绍了docker容器添加指定网络地址的方法实现,具有一定的参考价值,感兴趣的可以了解一下
    2024-01-01
  • Docker容器运行ASP.NET Core的实现步骤

    Docker容器运行ASP.NET Core的实现步骤

    这篇文章主要介绍了Docker容器运行ASP.NET Core的实现步骤,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2019-04-04
  • prometheus监控节点程序的安装及卸载命令

    prometheus监控节点程序的安装及卸载命令

    这篇文章主要为大家介绍了prometheus监控节点程序的安装及卸载命令,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-06-06
  • Docker中的容器文件拷贝及目录挂载方式

    Docker中的容器文件拷贝及目录挂载方式

    这篇文章主要介绍了Docker中的容器文件拷贝及目录挂载方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-03-03

最新评论