- ubuntu12.04环境下使用kvm ioctl接口实现最简单的虚拟机
- Ubuntu 通过无线网络安装Ubuntu Server启动系统后连接无线网络的方法
- 在Ubuntu上搭建网桥的方法
- ubuntu 虚拟机上网方式及相关配置详解
CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.
这篇CFSDN的博客文章docker-compose创建网桥,添加子网,删除网卡的实现由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.
1.创建docker网卡 。
1
2
3
4
5
6
7
8
9
|
[root@i ~]
# brctl addbr docker0
[root@i ~]
# ip addr add 192.168.42.1/24 dev docker0
# 这里的ip是给docker内部用的, 随意配置一个即可
[root@i ~]
# ip link set dev docker0 up
[root@i ~]
# ip addr show docker0
# 查看docker
[root@i ~]
# systemctl restart docker
[root@i ~]
# systemctl restart docker
# 启动docker服务
|
2.添加子网 。
1
2
3
4
5
6
7
8
9
10
11
12
|
[root@i ~]
# docker network create backend
# 这样我们就创建了backend子网,docker-compose就可以直接使用这个network
# 如果无法常见子网,则使用下面的命令,跳过安全问题
[root@i ~]
# docker network create backend --subnet 172.24.24.0/24
[root@i ~]
# docker network ls
NETWORK ID NAME DRIVER SCOPE
6afff4d90f05 backend bridge
local
57de7f32064e bridge bridge
local
4b44a5340d6e host host
local
ac8e8ffe243f none null
local
|
这里可以看到有backend 。
3.删除网卡 。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
[root@i ~]
# brctl show
#查看网桥状态
bridge name bridge
id
STP enabled interfaces
br-5db3fa0c465f 8000.02424cfb3937 no veth038d483
veth2950f5c
veth669dc5e
veth715203f
veth9f31643
vethd0f5330
docker0 8000.3a4803cd6298 no veth9d3badb
vethd7530fd
[root@i ~]
# brctl delif <网桥名> <端口名>
#卸载网桥上的端口
[root@i ~]
# ifconfig
#查看是否有网桥网卡名
[root@i ~]
# ifconfig <网桥名> down
#关闭此网卡
[root@i ~]
# brctl delbr <网桥名>
#删除网桥
|
补充:Docker-Compose 自动创建的网桥与局域网冲突的终极解决方案 。
1、问题描述 。
在使用 docker-compose 部署应用时, docker 默认的网络模式是 bridge ,默认网段是 172.17.0.1/16。十分不巧的是我们自己物理机的局域网也使用的是 172.18.0.1/16 的网段.
在执行 docker-compose -f docker-compose.yml up -d 部署服务后,自动生成的网桥会依次使用 172.18.x.x,然而悲催的事情发生了。docker 生成的网桥与局域网冲突了.
于是乎,面向百度编程的漫漫长路开始了… …,但是,通过一次次的百度和谷歌,找到好多好多复制来复制去的博客,最终一遍一遍的试错,最终也没有解决我的问题,于是乎,这篇含金量达到 99.9999999999999999999999999% 的文章出炉了.
本次实验环节的 Docker 版本 。
1
2
|
[root@node100 docker-compose]
# docker info | grep 'Server Version'
Server Version: 19.03.12
|
2、解决方案 。
停止 docker-compose 创建的容器 。
1
|
docker-compose -f docker-compose.yml down
|
操作 Docker 容器 。
1
2
3
4
5
6
7
8
|
# 停止 Docker 容器
sudo
systemctl stop docker
# 停止 docker0 网桥
sudo
ip link
set
dev docker0 down
# 删除 docker0 网桥
sudo
brctl delbr docker0
# 重置 iptables
sudo
iptables -t nat -F POSTROUTING
|
P.S 。
1
2
|
# linux brctl command not found,安装 brctl
yum
install
bridge-utils -y
|
修改 daemon.json 。
1
2
|
# 编辑 daemon.json 文件
vim
/etc/docker/daemon
.json
|
1
2
3
4
5
6
7
|
# 添加如下内容,包含设置 Docker 容器的 IP 网段
"default-address-pools"
: [
{
"base"
:
"192.168.0.0/16"
,
"size"
: 24
}
]
|
P.S 。
注意:如果 daemon.json 中包含了其它的内容,请切记语法格式的正确性,比如用逗号隔开.
重启 Docker 容器 。
1
2
|
sudo
systemctl daemon-reload
sudo
systemctl start docker
|
重新安装和启动 docker-compose 的命令 。
1
|
docker-compose -f docker-compose.yml up -d
|
3、拓展方案 。
点击此处获取 ISSUES 大佬们给出的一些解决方案 。
方案一 。
方案二 。
方案三 。
以上为个人经验,希望能给大家一个参考,也希望大家多多支持我。如有错误或未考虑完全的地方,望不吝赐教.
原文链接:https://blog.csdn.net/xzpdxz/article/details/88554832 。
最后此篇关于docker-compose创建网桥,添加子网,删除网卡的实现的文章就讲到这里了,如果你想了解更多关于docker-compose创建网桥,添加子网,删除网卡的实现的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。
我使用以下命令使用 Composer 删除了一个包。 composer remove sjparkinson/static-review 以上命令从 composer.json 中删除条目文件但 co
我刚刚开始使用 Composer 功能,你告诉它查看本地目录的依赖关系,这样你就可以开发一个库和一些并行使用该库的东西,而不必一直推送到 git 来更新,这是惊人的。例如 "repositories"
composer 和有什么区别和 composer.phar ? 例子: composer install composer.phar install 我一直看到使用 composer.phar 编写
阅读docker-compose -h或this official manual的帮助将为我们提供--project-directory PATH选项 docker-compose [-f ...]
我已经使用他们的安装指南在我的 Linux/Apache 服务器上的根目录(这是默认选择)中成功安装了 Composer。到目前为止,一切都非常简单,除了我必须进行的一个 php.ini 调整( de
在我的 composer.json配置文件,我有: "require": { "zendframework/zend-log" : "~2.3", }, "require-dev": {
从 Composer 安装此软件包后,我想复制位于软件包内的一些文件。 实际上,我希望在从 Composer 安装或更新软件包后,将下载的软件包中可能存在的某个文件复制到另一个目录。我用 script
我对码头公司还是个新手。我使用的是最新版本的Python、Django和Docker。我已经在这个项目上工作了两周了,我已经创建了docker-compose.yml文件,并且已经构建了我的docke
我正在尝试使用 composer 安装一个 github 项目并得到以下错误 Composer [UnexpectedValueException]您的 github.com 的 Github oau
我开发 Symfony 包的工作流程如下: 安装 Symfony 为新包创建一个 git repo,在其中放置一个 composer.json 文件 需要顶级 composer.json 中的新包,使
我正在尝试使用 composer 安装 github 项目并收到以下错误 Composer [UnexpectedValueException] 您用于 github.com 的 Github oau
我们在项目中使用了 composer。当我开发和/或向项目提交任何内容时,我通常应该使用 composer install;更新依赖项只是偶尔进行。 我们还使用 https://github.com/
我在 youtube 上学会了这个抽屉 https://www.youtube.com/watch?v=JLICaBEiJS0&list=PLQkwcJG4YTCSpJ2NLhDTHhi6XBNfk9
我知道在 onClick 中调用可组合函数是不可能的。 @Composable 调用只能在 @Composable 函数的上下文中发生 撰写版本 - alpha06 但我坚持以下要求。 要求是, 在
这是我的 docker-compose.yml 文件: version: '3.1' services: a: image: tutum/hello-world b: imag
创建Asset实例时是否有auto_increment字段类型可用。例如, Assets ID 应该是自动生成的字段,应该在运行时创建,而不是在应用程序级别提及该值。我可以通过创建一个交易处理器函数来
在 Composer 项目中,我必须添加一个库,它没有 composer.json 并且不使用命名空间。因此,我调整了项目的 composer.json 以添加库: { [...] "
当 vendor 目录中已经有一些组件被下载时.. 在上面运行 install 以及运行 update 时有什么影响? 最佳答案 所以我有同样的问题,这是我发现的: composer install
尝试运行 composer install 时出现此错误。我已经运行了 composer update,我正在尝试使用这个最新的锁定文件进行安装。没有任何帮助。 Loading composer re
当我尝试做: $ sudo php composer.phar update 我收到此警告: Warning: This development build of composer is over 3
我是一名优秀的程序员,十分优秀!