首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

当我启动安装了docker的ubuntu时,我有几个HWaddr。从哪里来的?

当你启动安装了Docker的Ubuntu时,你可能会看到多个HWaddr(硬件地址)。这些地址是从你的物理网卡(NIC)或虚拟网卡(VNIC)中获取的。

在Ubuntu中,可以通过ifconfig命令查看网络接口的配置信息,包括硬件地址。每个网络接口都有一个唯一的硬件地址,也称为MAC地址(Media Access Control Address)。MAC地址是一个由12个十六进制数字组成的标识符,用于唯一标识网络设备。

在Docker中,当你启动一个容器时,Docker会为容器创建一个虚拟网络接口,并为该接口分配一个虚拟的MAC地址。因此,你可能会看到多个HWaddr,每个HWaddr对应一个容器的虚拟网络接口。

需要注意的是,虚拟网络接口的MAC地址是在容器启动时动态生成的,并且在容器重新启动时可能会发生变化。因此,每次启动容器时,你可能会看到不同的HWaddr。

总结起来,当你启动安装了Docker的Ubuntu时,你可能会看到多个HWaddr,这些地址是从物理网卡或虚拟网卡中获取的,用于唯一标识网络接口。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

研究网卡地址注册时的一点思考

其内涵指的是,普通读者从我的文章中学到的是某个知识点,而元阅读者从我的文章中可能会额外关注,我是如何掌握某个知识点的,在一个知识点的学习过程中我关注了哪些知识点相关的点,又是如何将他们联系在一起,最终形成一个体系的...紧接着的两个网卡 docker0,tun0 是怎么出来的呢?我在我的 ubuntu 上装了 docker 和 openV**。...我们简单做个总结,大致有三个干扰因素 以 docker 网桥为首的虚拟网卡地址,毕竟这东西这么火,怎么也得单独列出来吧?...如果嫌默认的网桥不够直观,我们可以使用 bridge 模式自定义创建一个新的网桥: ubuntu@VM-30-130-ubuntu:~$ docker network create kirito-bridge...6 干扰因素三:多网卡 这个没有太多好说的,有多张真实的网卡,从普哥那儿搞到如上的 IP 信息。

1.1K30

Docker容器跨主机通信之:直接路由方式

情景构造 如下图所示,我们有两个物理主机1和主机2,我们在各自宿主机上启动一个centos容器,启动成功之后,两个容器分别运行在两个宿主机之上,默认的IP地址分配如图所示,这也是Docker自身默认的网络...有3个办法: 1. 修改docker0的网段 2. 创建一个docker网桥 这里为了快速实现,选用第一种方案。...--bip后面的ip就是docker0的ip地址,一般从第一个ip开始! 不要修改 /etc/docker/daemon.json 文件添加bip,我测试了一些,重启docker会报错!...它的ip地址为 10.0.128.2 ,由于docker0占用了第一个ip地址。所以容器启动时,ip地址从第二个开始分配! 在主机2上面启动一个容器 ?...做路由规则时,容器搞混淆,为了避免这种问题,做一个一键脚本就可以了! 环境要求 1. 每台主机已经安装好了docker,并且已经启动 2.

16.8K12
  • 如何在Ubuntu 18.04上安装Docker Compose

    Docker Compose使用户可以更轻松地编排Docker容器的进程,包括启动,关闭和设置容器内链接和卷。...注意:尽管前提条件提供了在Ubuntu 18.04上安装Docker的说明,但只要安装了Docker,本文中的docker命令就可以在其他操作系统上运行。...第1步 - 安装Docker Compose 虽然我们可以从官方的Ubuntu存储库安装Docker Compose,但它是最新版本背后的几个次要版本,所以我们将从Docker的GitHub存储库安装Docker...第二行指定用于创建容器的镜像。当我们运行docker-compose up命令时,它将按我们指定的名称查找本地镜像hello-world。有了这个,我们将保存并退出该文件。...Docker容器只在命令处于活动状态时才运行,因此一旦hello完成运行,容器就会停止。因此,当我们查看活动进程时,将显示列标题,但hello-world不会列出容器,因为它没有运行。

    10K20

    研究网卡地址注册时的一点思考

    其内涵指的是,普通读者从我的文章中学到的是某个知识点,而元阅读者从我的文章中可能会额外关注,我是如何掌握某个知识点的,在一个知识点的学习过程中我关注了哪些知识点相关的点,又是如何将他们联系在一起,最终形成一个体系的...紧接着的两个网卡 docker0,tun0 是怎么出来的呢?我在我的 ubuntu 上装了 docker 和 openV**。...这两个东西应该是日常干扰我们做服务注册时的罪魁祸首了,当然,也有可能存在 eth1 这样的第二块网卡。...我们简单做个总结,大致有三个干扰因素 以 docker 网桥为首的虚拟网卡地址,毕竟这东西这么火,怎么也得单独列出来吧?...6 干扰因素三:多网卡 这个没有太多好说的,有多张真实的网卡,从普哥那儿搞到如上的 IP 信息。

    1K20

    从 docker 到 runC

    Docker 的主要组件 安装 docker ,其实是安装了 docker 客户端、dockerd 等一系列的组件,其中比较重要的有下面几个。...shim 也正是代表着一个个通过调用 containerd 启动的 docker 容器。...其实容器部分的操作和管理都被 dockerd 外包给 containerd 了,下图描述了运行一个容器时各个组件之间的关系: Docker Engine API 从本质上说,docker 是一个客户端...docker-containerd 和 docker-runc 之间的桥梁,docker-runc 能干的就交给 docker-runc 来做,docker-runc 做不了的就放到这里来做。...下面我们用 ubuntu 镜像运行一个容器: $ docker run -id ubuntu bash 上图中黄线框起来的是几个主要的进程,它们之间是有父子关系的(systemd 没有出现在上图):

    64060

    docker(四)终篇之靶场环境的搭建

    Docker 的tag似乎更加灵活,Docker 将文件等信息的变动抽象为一次次的commit,每一次commit以后可能走向不同的分支,当我们完成Docker file的构建后,会生成一串无规则的字符串代表此次生成的...但是有一点要提的,拷贝的时候如果从物理机拷贝到docker中,docker不存在某个文件会自动新建一个文件或者文件夹。...但是我们每此都要自己启动apache服务很麻烦,这个时候我么那就要写一个shell脚本或者其他方法让web服务自己启动。 在ubuntu中有两种方法可以让系统自启动一些服务。...2、方法二,添加一个Ubuntu的开机启动服务 如果要添加为开机启动执行的脚本文件, 可先将脚本复制或者软连接到/etc/init.d/目录下, 然后用:update-rc.d xxx defaults...我试了之后都失败了,后面一个docker很6的同事告诉我说,在docker中自启动需要编写dockerfile。

    3.3K30

    如何在Debian 9上安装Docker Compose

    选择其他版本: CentOS 7 Ubuntu 14.04 Ubuntu 18.04 介绍 Docker是一个很好的工具,用于在软件容器中自动部署Linux应用程序,但要充分利用其潜力,应用程序的每个组件都应该在自己的单独容器中运行...Docker Compose使用户可以更轻松地编排Docker容器的进程,包括启动,关闭和设置容器内链接和卷。...注意:尽管前提条件提供了在Debian 9上安装Docker的说明,但只要安装了Docker,本文中的docker命令就可以在其他操作系统上运行。...第1步 - 安装Docker Compose 虽然我们可以从官方Debian存储库安装Docker Compose,但它是最新版本背后的几个次要版本,所以我们将从Docker的GitHub存储库安装它。...第二行指定用于创建容器的图像。当我们运行docker-compose up命令时,它将按我们指定的hello-world名称查找本地图像。有了这个,我们将保存并退出该文件。

    3.6K31

    手把手教你打造 SDN 网路(三) (无外部网路)

    HWaddr be:86:d5:cd:f9:4b          BROADCAST MULTICAST  MTU:1500  Metric:1          RX packets:0 errors...ovsbr0 up            #ovsbr0 interface up 接着要启动两个 containers 来模拟 hosts,这里有两个工具可以利用,一个是由开发者@jpetazzo...ovs-docker [option1] 首先我们先启动两个 containers 这里用 busybox 的 image 当范例因为只是要验证网路的互通性,busybox 的 image 可以事先用...Network Stack with OVS Bridge and Containers 当然,要开几个 Containers 就一直 copy 指令改 IP 下去,反正docker 号称 Lightweight...但还是要注意 VM 一开始所配的 RAM 跟 CPU (可以从 Vagrantfile 里做修改) 大功告成,不管用的是 Option1 还是 Option2 我们的 Network Stack 都是变成图三这个样子

    93420

    被 Docker 日志坑惨了

    在我使用命令补全时,出现了一条不普通的提示: -bash: cannot create temp file for here-document: No space left on device ls -...这里有两个方案: 单一容器配置 全局配置 单一容器配置 启动容器时,通过参数来控制日志的文件个数和单个文件的大小: docker run -it --log-opt max-size=10m --log-opt...不同系统的位置都不一样,网上有人总结了一份列表,我修正了一下,可以参考: 系统 日志位置 Ubuntu(14.04) /var/log/upstart/docker.log Ubuntu(16.04)...docker logs 显示的内容包含 STDOUT 和 STDERR。 在生产环境下,如果我们的应用输出到日志文件里,那么我们在使用 docker logs 时一般收集不到太多重要的信息。...GitHub,有需要的同学可自行下载。

    1.9K51

    Docker 终极入门教程-上篇

    我相信这样说完之后,没概念的还是没概念,就让我们直接启动一个容器来看看吧!...这里很重要的就是我们提到的 container 是一个独立的、隔离的环境,当你启动了两个容器时,即便是从同一个 image 启动起来,Docker 是会帮你创建出两个不同的容器的:这时候再开启一个新的命令窗口...而当我们启动第二个容器的时候,因为本地已经有了 node:20 这个 image,所以就可以直接启动,而不用再去拉取 image 了。...这是因当我们从 image 启动一个 container 时候,Docker 会载入这个 image 作为只读层,并且在上面加上一个可写层,而我们在这个 container 中的操作实际上就是发生在这个可写层中...当然,原本我们从 Docker Hub 上拉下来的 node:20 也不会只有单独一层,所以当我们在 pull 这个 image 时,会看到的画面是像下面这样:按照这个过程, node:20 至少是由

    10311

    docker的tag实验

    tag的生成 tag是从哪里来的呢? docker pull docker pull命令让我们可以方便的从镜像库中传递镜像。...由Dockerfile创建的镜像 写过Dockerfile的同学应该知道,docker build的时候有一个选项是-t,意思是指定镜像名和一个可选的tag,意思就是-t后面接的是我们想要取得名字,老高在...在命令行中我们没有给原名字打上tag,命令为docker tag ubuntu ubuntu:16.10,系统又帮我们加上了latest,也就是说,当我们不指定tag的时候,系统会自动帮我们补上latest...当我们执行刚才命令的时候,其实还是存在一个ubuntu:14.04的镜像,按理来说会发生重名,但是系统还是优先使用了ID为613aff232d62的镜像。...也就是说,如果在tag为可选的命令中,我们没有写上tag,如 docker pull ubuntu:14.04 vs docker pull ubuntu ,前者有确定的tag,而后者没有,这时系统会自动添加一个

    52560

    使用docker来编排Web应用

    当然有,那就是本文的主角docker-compose(docker编排)。本文就跟大家分享下我是如何使用它解决我的痛苦的,欢迎各位感兴趣的开发者阅读本文。...image-20231113223349254 docker container start crazy_wu 常用的参数与命令 容器在启动时,有丰富的参数可以配置,此处我列举几个最常用的参数。...当我想在主机上查看写入的日志数据时,发现怎么找也找不到。查了很多资料,最后发现他的数据卷存储很复杂,并没有集中存储,而是分布式的。 这种方式显然不是我想要的,而目录映射的方式正好满足我的需求。...kodbox 是我之前搭建的网盘服务[15],依赖php环境 halo 是我的个人网站[16],依赖Java15环境 因为有多个服务都需要用到数据库,我需要确保数据库先启动,因此上面的配置中,我还用depends_on...docker-compose up 踩坑记录 我在配置mysql服务时,走了很多弯路,不知道哪步搞错了,启动服务后会报错find: '/var/lib/mysql/mysql.sock': No such

    47820

    使用docker来编排Web应用

    当然有,那就是本文的主角docker-compose(docker编排)。本文就跟大家分享下我是如何使用它解决我的痛苦的,欢迎各位感兴趣的开发者阅读本文。...docker container start crazy_wu 常用的参数与命令 容器在启动时,有丰富的参数可以配置,此处我列举几个最常用的参数。...当我想在主机上查看写入的日志数据时,发现怎么找也找不到。查了很多资料,最后发现他的数据卷存储很复杂,并没有集中存储,而是分布式的。 这种方式显然不是我想要的,而目录映射的方式正好满足我的需求。...kodbox 是我之前搭建的网盘服务,依赖php环境 halo 是我的个人网站,依赖Java15环境 因为有多个服务都需要用到数据库,我需要确保数据库先启动,因此上面的配置中,我还用depends_on...mysql服务时,走了很多弯路,不知道哪步搞错了,启动服务后会报错find: '/var/lib/mysql/mysql.sock': No such file or directory,导致启动失败,

    15010

    Docker Network—Bridge 模式

    当应用程序运行在需要通信的独立容器(standalone containers)中时,通常会选择 bridge 模式。 host:移除容器和 Docker 宿主机之间的网络隔离,并直接使用主机的网络。...(一开始我尝试使用 ubuntu 作为基础镜像来构建测试容器,但 ubuntu 镜像删减了几乎所有的常用工具,连同 ping,ifconfig 等命令都需要额外安装软件,而 busybox 则不存在这些问题...默认 bridge 网络上的容器只能通过 IP 地址互相访问,除非使用在 docker run 时添加 —link 参数。...另外,配置默认 bridge 网络隔离于 Docker 本身之外,并且需要重新启动 Docker 才可以生效。...但是,自定义网络有更好方式来实现共享环境变量: 多个容器可以使用 Docker 卷来挂载包含共享信息的文件或目录。

    8.2K70

    深入剖析Docker镜像(文末送书)

    同样,在容器运行的时候也会有一个视图,当我们把容器停掉以后,视图层就没了,但是读写层依然保留,当我们下次再启动容器的时候,还可以看到上次的修改。...当我们通过Dockerfile制作了一个镜像,这时候的镜像是静态的,并不能为我们提供需要的服务,我们需要通过docker将这个镜像运行起来,使它从镜像变成容器,从静态变成动态。.../run.sh"] 这段Dockerfile的父镜像是ubuntu:latest,在它的基础之上添加脚本然后组成新的镜像。 所以在优化体积方面,可以从以下几个方面进行考虑。...这里从以下几个方面进行表述。 (1)优化网络速度 网络是万恶之源。...你还可以把我的公众号设为「星标」,这样当公众号文章更新时,你会在第一时间收到推送消息,避免错过我的文章更新。

    62930

    在您的CI或测试环境中使用Docker-in-Docker?三思而后行

    Docker-in-Docker:糟糕的 然而,与流行的看法相反,Docker-in-Docker并非100%由闪光,小马和独角兽制成。我的意思是,有一些问题需要注意。...我的更改在我的Debian机器和Ubuntu测试虚拟机上工作(并且所有测试都会通过),但它会在迈克尔克罗斯比的机器上崩溃并烧毁 (如果我记得很好的话,它就是Fedora)。...在Docker中运行Docker时,外部Docker运行在普通文件系统(EXT4,BTRFS,你有什么)之上,但内部Docker运行在写时复制系统(AUFS,BTRFS,Device Mapper等)之上...聪明的技巧,如原子文件替换(而不是就地编辑),通过咨询和强制锁定来编写代码,以及像SQLite和BDB这样的安全系统的其他实验只能让我们到目前为止; 当我们重构我们的容器引擎(最终成为Docker)时,...“看哪,我可以docker run ubuntu!”但是尝试做更多的事情(从两个不同的实例中拉出相同的图像......)并观察世界燃烧。

    71810

    手摸手,带你入门docker

    那么接下来我去哪里找 docker 版的 ubuntu 镜像呢?...具体操作就是第一次启动容器时指定,注意也就是 docker run 命令时指定。...docker0 是 docker 在启动时在宿主机器上创建的虚拟网络接口,它会从 RFC 1918 定义的私有地址中随机选择一个主机不用的地址和子网掩码,并将它分配给 docker0,默认选择 172.18.0.1...当我们在容器中执行任何类似 ifconfig 命令查看网络环境时,看到的都是宿主机上的信息。...总之,容器有点像轻量级的虚拟机,能够提供虚拟化的环境,但是成本开销小得多 小结 本文从使用 docker 的整个生命周期的顺序进行讲述,方便理解和记忆:从安装 docker 软件,下载镜像,启动容器,文件传输

    66510

    手把手教你打造 SDN 网路(四) (设定外部联网)

    Virtualbox 视窗来控制 VM ,还记得刚刚有设定 Ubuntu 的 root password ,这里务必要使用 root 及方才设定的 root password 在 Virtualbox.../sh 几个 options 可以看上一篇或是不了解可以去查 docker 官方指南。...gateway 还记得前面在 ubuntu 里面查到的 gateway IP 是 10.0.2.2 透过 tmux 开起一个 session 进去 container $ docker attach...Network Stack with OVS Bridge and Containers 结语 最后我想认真看完这几篇的朋友们,不知道有没有什么问题?...认真地说这个环境可以尝试运用到商业部署上,透过 Docker 的特性和 SDN 的弹性绝对可以创造出无限的可能,欢迎业界朋友对于部署有任何客制化的问题不方便公开说,可以留言交流。 · END ·

    91330

    聊聊在生产环境中使用Docker的最佳实践有那些策略?

    但是并不是每个团队(或者个人)在使用 Docker 的时候都能做到 Docker 的最佳实践 , 本文将从以下几个方面来聊聊 Docker 工程化实践中的最佳方案. ---- 为什么要在项目中使用最佳实践...中使用了官方的ubuntu镜像, 然后使用命令安装了 node 程序 推荐 FROM node 这个 Dockerfile 中我们使用官方提供的 Node 镜像 说明: 同样是官方的镜像, 为什们不推荐使用...✅ 相比之下,拥有较小的图像意味着在图像存储库中需要更少的存储空间,同时也需要更少的部署服务器空间。当从存储库拉取或推送图像时,当然可以更快地传输这些图像。...---- 最佳实践4: 优化构建镜像时的缓存 优化构建镜像时的缓存 在 docker 中,镜像层是什么,缓存和镜像层有什么关联呢?...因此,当重新构建镜像时,如果Dockerfile没有更改,Docker将只使用缓存的层来构建镜像。这样构建的速度就会更快,也会占用更少的存储空间. 使用镜像缓存的优势有那些?

    96540
    领券