揭秘高效Docker管理:三大实用命令及网络模式深度解析
创始人
2024-12-15 09:31:25
0 次浏览
0 评论
3个不为人知的Docker命令,但它们在管理容器时会派上用场!
Docker管理容器时,一些有用的命令可能不被广泛知晓,但它们的效率却不容小觑。本文介绍了三个鲜为人知的Docker命令,它们可以在您的日常操作中发挥重要作用。
首先,“dockersystem”命令收集系统级信息。
其中一个“dockersysteminfo”可能是众所周知的,但实际上还有一个更详细的子命令“dockersystemdf”。
该命令可以让您更直观地管理磁盘空间,一键查看容器、镜像、卷的磁盘使用情况,无需多次运行du命令。
其次,“dockersystemprune”是清理未使用资源的好帮手,尤其是“dockersystemprune--volumes”,可以同时清理多余的容器、镜像和卷,以节省存储空间。
您可以通过添加选项“-f”来避免不必要的确认提示。
最后,“dockersystemevents”提供实时Docker守护进程事件监控。
这对于跟踪图像删除等操作很有用。
了解这些命令将使Docker管理更加高效、便捷。
此外,“dockercontext”命令允许您创建和管理不同主机的上下文。
这对于多服务器部署和环境切换非常有用。
只需创建一个上下文,然后通过简单的选项快速切换到您所需的环境。
关于“暂停”和“取消暂停”命令,可以避免在处理微服务部署中的依赖排序问题时因依赖未启动而造成的资源浪费。
暂停和取消暂停容器使您可以更好地控制服务启动的顺序。
Docker的网络管理
Docker提供了多种网络管理选项,包括内置网桥、主机、无和容器网络模式,以及用户定义的网络。
我们来一一考察这些模式:桥接模式:守护进程创建虚拟以太网桥docker0,容器自动连接。
Vethpairs是默认创建的,一个在容器中作为eth0,另一个在主机名空间中。
使用--netbridge创建的容器获得私有IP和docker0作为网关。
Host模式:容器直接共享主机的网络,拥有主机的IP,无需NAT转换。
用--nethost指定,适合直连,但网络隔离性较差。
容器IP与宿主机相同。
无模式:禁用网络功能并仅使用本地主机。
--netnone创建,适合构建时最少的网络配置,方便自定义开发。
容器模式:新建容器共享指定容器的网络堆栈,非常适合容器之间的快速通信,但文件系统和进程是隔离的。
Docker1.10版本之后支持容器名称DNS解析。
创建自定义网络时,您可以指定网络模式并分配IP。
通过dockernetworkcreate命令的操作,容器之间的连接是在同一个网络的网卡上。
断开并删除网络:使用dockernetworkdisconnect和dockernetworkrm操作。
容器之间的通信取决于网络配置。
默认桥接网络下的容器IP发生变化,而自定义网络允许使用固定名称连接,并使用内置DNS服务器实现。
Docker容器管理
1、Docker容器的创建和运行:使用dockercreate命令创建容器,并使用dockerstart启动容器。容器在“已创建”状态下创建,使用导航栏查看。
dockerrun命令可以随时随地完成创建和启动过程,并指定端口映射、容器名称等参数。
创建并运行容器的示例如下:dockerrun-d-p8080:80--第一个demonginx的名称。
执行此命令将在后台运行一个名为“firstdemo”的Nginx容器,并将主机的8080端口映射到容器上的80端口。
当本地不存在镜像时,命令会自动从DockerHub下载。
建议使用run命令作为容器来绑定端口、存储卷、环境变量等操作。
使用dockerstop命令停止容器,使用dockerrm命令删除容器。
要删除正在运行的容器,必须先停止它或使用-f(vi)强制删除。
2、容器生命周期管理容器生命周期包括创建、运行、停止、停止、删除等状态,对应dockercreate、dockerrun/start/unpause/restart、dockerstop、dockerpause、dockerrm命令。
创建状态表明容器是使用dockercreate命令创建的。
运行状态指示正在运行的容器,并通过dockerrun(运行和创建)、dockerstation(初始构建)、dockerunpause(从暂停状态恢复运行)和dockerrestart命令更改。
关闭状态表示容器已停止。
Paused状态表示容器处于暂停状态,切换到dockerpause。
已删除状态表示容器已被删除,可以使用dockerrm命令恢复。
3.容器网络和端口映射Docker提供了三种网络模式:bridge、host、none。
默认情况下,容器使用名为“bridge”的正确网卡与主机进行通信。
在桥接模式下,使用-p或-p选项设置主机与容器连接的目的端口。
例如:dockerrun-d-p8080:80ngingx将容器上的端口80映射到主机端口8080。
当使用-P选项时,Docker将自动在主机上为容器中的任何开放端口发布可用端口。
在主机模式下,容器共享主机的网络堆栈,可以直接使用本地主机和相应端口来访问服务。
无论如何,容器将不具备网络能力,无法通过网络与其他容器或主机进行通信。
相关文章
C语言Union详解:内存共享与类型转换...
2024-12-18 03:02:42C语言教程:逆序输出五位整数,轻松实现1...
2024-12-17 00:05:59vcredist软件详解:Windows...
2024-12-17 09:14:11C语言输入输出字符串技巧:scanf与p...
2024-12-17 03:06:04C语言数组在子函数中调用:主函数数组传递...
2024-12-15 04:52:25JavaScript字符串转数组:常见方...
2024-12-20 21:45:50C语言字符串长度与存储空间计算方法详解
2024-12-16 03:22:58C语言函数返回值解析:有与无的奥秘
2024-12-16 13:50:14JSON数据格式解析与转换:前端后端数据...
2024-12-19 07:46:23C语言基础知识点全解析:必备语法与数据结...
2024-12-17 03:10:07最新文章
23
2024-12
23
2024-12
23
2024-12
23
2024-12
23
2024-12
23
2024-12
23
2024-12
23
2024-12
23
2024-12
23
2024-12
热门文章
1
C语言字符串常量解析:区别、用途及存储方...
什么是字符串常量字符串常量是C语言中的一种数据类型,它是由一对双引号括起来的字符...
2
C语言printf函数:格式字符串与输出...
printf函数中的格式与输出项有什么关系?在C语言中,printf函数中的格式...
3
Excel技巧:计算字符串起始位置与合并...
如何计算字符串在特定文本中的起始位置,怎么计算字符串在特定文本中的起始位置您可以...
4
Python发音全解:掌握正确的发音方法...
python怎么读我的很多学习编程的朋友可能都知道Python这个词,但是他们中...
5
字符与字符串:编程中的基础文本类型解析
字符串什么意思字符串是由数字、字母和下划线组成的字符串,表示为s=“a1a2…a...
6
Python编程语言:多领域应用与开发优...
Python的作用是什么?Python是一种跨平台计算机编程语言,是ABC语言的...
7
深度解析:C语言编程特点与应用领域
什么叫c语言C语言是一种编程语言。C编程语言应用广泛,具有以下特点和特点:1.语...
8
Java全解析:跨平台编程语言的魅力与多...
java是什么Java是一种功能强大的编程语言,被称为“一次编写,随处运行”模型...
9
C语言编程错误定位:快速查找错误代码行技...
C语言编程后,有错误,怎么查看是那部分出错了!【写完代码直接编译。如果有错误,编...
10
2023 Django静态文件配置指南:...
在Django中怎么设置静态文件(2023年最新整理)简介:很多朋友问了关于如何...