Docker 网络网络基础其中 Docker 使用到的与 Linux 网络有关的技术分别有:网络名称空间、Veth、Iptables、网桥、路由。网络名称空间为了支持网络协议栈的多个实例,Linux 在网络协议栈中引入了网络名称空间(Network Namespace),这些独立的协议栈被隔离到不同的命名空间中。处于不同的命名空间的网络协议栈是完全隔离的,彼此之间无法进行网络通信,就好像两个“平行            
                
         
            
            
            
            目的本节的目的是了解 docker 两个容器可以连接在一起的原理,就是利用的 linux network namespace,那我们就详解一下这个 namespace。前置知识1、veth-pair 是什么?veth-pair 就是一对的虚拟设备接口,和 tap/tun 设备不同的是,它都是成对出现的。一端连着协议栈,一端彼此相连着。正因为有这个特性,它常常充当着一个桥梁,连接着各种虚拟网络设备,            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-09-01 11:12:01
                            
                                129阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            Namespace 的作用是“隔离”,它让应用进程只能看到该Namespace 内的“世界”;而 Cgroups 的作用是“限制”,它给这个“世界”围上了一圈看不见的墙。命名空间是 Linux 内核一个强大的特性。每个容器都有自己单独的命名空间,运行在其中的应用都像是在独立的操作系统中运行一样。命名空间保证了容器之间彼此互不影响。 在docker中一共有以下几个命名空间,每个Namesp            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-09-01 18:47:02
                            
                                88阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            概述Docker 底层的核心技术包括 Linux 上的命名空间、控制组、Union 文件系统和容器格式。下面对基本架构和这几个方面做个介绍。     docker容器虚拟化方式  基本架构Docker 采用了 C/S 架构,包括客户端和服务端。Docker 守护进程作为服务端接受来自客户端的请求,并处理这些请求(创建、运行、分发容器)。客户端和服务端既可以运行在一个机器上,也可通过 socket            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-08-22 16:03:37
                            
                                0阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            什么是 docker Image 和container?我们先来看看官网是怎么说的。Docker Engine provides the core Docker technology that enables images and containers. As the last step in your installation, you ran the docker run hello            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-09-10 08:57:00
                            
                                177阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            ## 实现Docker Image 命名的步骤
作为一名经验丰富的开发者,我将会教你如何实现“docker image 命名”。首先,让我们来看一下整个流程的步骤:
```mermaid
flowchart TD
    A(开始)
    B(构建Docker镜像)
    C(命名Docker镜像)
    D(结束)
    A --> B
    B --> C
    C --> D            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2024-05-03 07:58:19
                            
                                61阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            命名空间命名空间或者叫名字空间(名字就是namespace)是为了在大型项目中防止标识符冲突才引入的,实际上就是可以由用户命名的作用域。touzani的专栏的这篇C++ 命名空间namespace,我觉得写的很明白(不敢说好坏,因为我也是抱着学习的态度读技术博客),该部分大量参考了这篇博文。与命名空间相关的概念:声明域(declaration region)—— 声明标识符的区域。如在函数外面声明            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-10-02 08:37:59
                            
                                51阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            1.容器的本质——进程Docker 使用 Google 公司推出的 Go 语言 进行开发实现,基于 Linux 内核的 cgroup,namespace,以及 OverlayFS 类的 Union FS 等技术,对进程进行封装隔离,属于 操作系统层面的虚拟化技术。由于隔离的进程独立于宿主和其它的隔离的进程,因此也称其为容器。由上可知,容器是独立于宿主和其它的隔离的进程的进程,即容器的本质是进程,而            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-02-23 16:03:44
                            
                                185阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            前言  命名空间是 Linux 内核一个强大的特性。每个容器都有自己单独的命名空间,运行在其中的 应用都像是在独立的操作系统中运行一样。命名空间保证了容器之间彼此互不影响。相应的命名空间功能如下: pid 命名空间不同用户的进程就是通过 pid 命名空间隔离开的,且不同命名空间中可以有相同 pid。所有的 LXC 进程在 Docker 中的父进程为Docker进程,每个 LXC 进程具有            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-07-14 12:03:57
                            
                                173阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            一.测试两个容器是否互通1.先运行两个容器 test1 与test2docker run -d  --name test1 busybox /bin/sh -c "while true; do sleep 3600; done"
docker run -d  --name test2 busybox /bin/sh -c "while true; do sleep 3600; done"生成两个            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-09-19 23:28:29
                            
                                93阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            Namespaces(命名空间)namespaces 是Linux 中用于分离 进程树、网络接口、挂载点以及进程间通信 等资源的方法。
 在单服务器中,若启用多个服务,而未使用namespaces,服务间会相互干扰,
 每个服务都能看到其他服务的进程,也可访问宿主机器上的任意文件。
 这显然不是我们所乐意的,我们更愿意运行在同一台机器上的不同服务之间能做到 完全隔离,
 就像运行在多台不同机器上一            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-08-07 23:55:53
                            
                                196阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            文章目录1. 什么是Linux namespace2. 探索namespaces2.1 查询本机所有namespaces2.1.1 通过lsns命令查看ns2.1.2 通过查看proc文件系统查看ns2.2 查看某个docker 容器的namespaces2.3 进入命名空间命令nsenter  如下操作都是在centos7上执行,通过cat /proc/version查看系统信息。 1. 什么            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-08-31 21:22:10
                            
                                183阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            Docker是使用LXC来实现(LXC为Linux Container的简写:可以提供轻量级的虚拟化,以便隔离进程和资源,LXC将linux进程沙箱化,使得进程之间相互隔离),因为|Docker使用LXC来实现,所以Docker其实就是利用Linux中的核心分离机制Cgroups和Namespace来创建独立的容器,Docker就是利用Namespace做资源隔离(进程、网络、挂载点、进程间通信等            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-07-14 23:56:45
                            
                                115阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            Docker来源随着互联网的极速发展,应用程序的功能越来越丰富,而需要迭代的速度要求也越来越高,为了实现这些目标,应用的开发逐渐趋向服务化甚至微服务化。微服务化对应用程序进行拆分,导致这个应用的运行环境会变得越来越复杂,尤其是应用程序比较大、涉及服务比较多的时候,极大的增加了开发、测试和运维人员的对环境搭建的难度。此外,服务的集群化部署,需求更高的效率。Docker 项目是一个由 Go 语言实现的            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-08-11 21:10:15
                            
                                60阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            一.原理Docker 核心技术与实现原理 - DockOne.io1.namespaces 命名空间(namespaces)是 Linux 为我们提供的用于分离进程树、网络接口、挂载点以及进程间通信等资源的方法。 Docker 其实就通过 Linux 的 Namespaces 对不同的容器实现了隔离。 Linux 的命名空间机制提供了以下七种不同的命名空间,包括 CLONE_N            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-07-19 19:33:08
                            
                                0阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            # Docker重命名image
在使用Docker构建镜像时,有时候我们可能需要对已经存在的镜像进行重命名。这种情况可能是因为需要清晰地标识镜像的用途,或者是为了方便管理镜像。不过,Docker并没有提供直接的命令来重命名镜像,但是我们可以通过一些简单的步骤来实现这个目的。
## 步骤
1. **查看已有镜像**
首先,我们需要查看当前已有的镜像,以确定需要重命名的镜像的ID。可以通过以            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2024-06-14 06:13:39
                            
                                233阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            docker --helpUsage:  docker [OPTIONS] COMMAND
A self-sufficient runtime for containers
Options:
      --config string      Location of client config files (default
                           "C:\\Us            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-07-23 14:13:39
                            
                                96阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            之前在 Netflix 技术博客里也介绍过,Titus[1] 是我们自研的一套容器编排系统。我们通过它来承载着公司各个部门的各种工作负载 —— 从 netflix.com 的前端 API,到机器学习训练工作负载,再到视频解码。在 Titus 里,实际运行这些工作负载的宿主机从用户的角度来看已经是被抽象了的。Titus 平台通过维护一定容量的同构节点的大池子来运行用户的工作负载,而 Tit            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-06-13 12:30:15
                            
                                42阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            文章目录1 虚拟化网络2 单节点容器间通信3 不同节点容器间通信4 Docker容器网络5 Docker的四种网络模式5.1 host模式5.2 container模式5.3 none模式5.4 bridge模式 1 虚拟化网络Linux内核支持六种名称空间,只要在用户空间有相应的客户端工具,都可以对对应的名称空间进行操作。主机名和域名的叫:UTS用户的叫:USER挂载文件系统的:Mount进程            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-02-02 17:59:22
                            
                                128阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            1、组成部分Docker 容器本质上是宿主机上的一个进程。Docker 通过 namespace 实现了资源隔离,通过 cgroups 实现了资源的限制,通过写时复制机制(copy-on-write)实现了高效的文件操作。   Docker有五个命名空间:进程、网络、挂载、宿主和共享内存,为了隔离有问题的应用,Docker运用Namespace将进程隔离,为进程或进程组创建已隔离的运行空间,为进程            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-08-07 12:01:09
                            
                                189阅读
                            
                                                                             
                 
                
                                
                    