1. docker高级网络配置

1.1 说明

当 Docker 启动时,会自动在主机上创建一个 docker0 虚拟网桥,实际上是 Linux 的一个 bridge,可以理解为一个软件交换机。它会在挂载到它的网口之间进行转发。

同时,Docker 随机分配一个本地未占用的私有网段(在 RFC1918 中定义)中的一个地址给 docker0 接口。比如典型的 172.17.42.1,掩码为 255.255.0.0。此后启动的容器内的网口也会自动分配一个同一网段(172.17.0.0/16)的地址。

当创建一个 Docker 容器的时候,同时会创建了一对 veth pair 接口(当数据包发送到一个接口时,另外一个接口也可以收到相同的数据包)。这对接口一端在容器内,即 eth0;另一端在本地并被挂载到 docker0 网桥,名称以 veth 开头(例如 vethAQI2QT)。通过这种方式,主机可以跟容器通信,容器之间也可以相互通信。Docker 就创建了在主机和所有容器之间一个虚拟共享网络。

1.2 查看网络信息

# docker network ls

1.3 创建一个网桥

# docker network create -d bridge 网桥名称

1.4 删除一个网桥

# docker network rm 网桥名称

1.5 容器之前使用网络通信

# 1.查询当前网络配置
- docker network ls
NETWORK ID          NAME                DRIVER              SCOPE
8e424e5936b7        bridge              bridge              local
17d974db02da        docker_gwbridge     bridge              local
d6c326e433f7        host                host                local
# 2.创建桥接网络
- docker network create -d bridge info
[root@centos ~]# docker network create -d bridge info
6e4aaebff79b1df43a064e0e8fdab08f52d64ce34db78dd5184ce7aaaf550a2f
[root@centos ~]# docker network ls
NETWORK ID          NAME                DRIVER              SCOPE
8e424e5936b7        bridge              bridge              local
17d974db02da        docker_gwbridge     bridge              local
d6c326e433f7        host                host                local
6e4aaebff79b        info                bridge              local
# 3.启动容器指定使用网桥
- docker run -d -p 8890:80 --name nginx001 --network info nginx
- docker run -d -p 8891:80 --name nginx002 --network info nginx `注意:一旦指定网桥后--name指定名字就是主机名,多个容器指定在同一个网桥时,可以在任意一个容器中使用主机名与容器进行互通`
[root@centos ~]# docker run -d -p 8890:80 --name nginx001 --network info nginx
c315bcc94e9ddaa36eb6c6f16ca51592b1ac8bf1ecfe9d8f01d892f3f10825fe
[root@centos ~]# docker run -d -p 8891:80 --name nginx002 --network info nginx
f8682db35dd7fb4395f90edb38df7cad71bbfaba71b6a4c6e2a3a525cb73c2a5
[root@centos ~]# docker ps
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                  NAMES
f8682db35dd7        nginx               "/docker-entrypoint.…"   3 seconds ago       Up 2 seconds        0.0.0.0:8891->80/tcp   nginx002
c315bcc94e9d        nginx               "/docker-entrypoint.…"   7 minutes ago       Up 7 minutes        0.0.0.0:8890->80/tcp   nginx001
b63169d43792        mysql:5.7.19        "docker-entrypoint.s…"   7 minutes ago       Up 7 minutes        3306/tcp               mysql_mysql.1.s75qe5kkpwwttyf0wrjvd2cda
[root@centos ~]# docker exec -it f8682db35dd7 /bin/bash
root@f8682db35dd7:/# curl http://nginx001
<!DOCTYPE html>
<html>
<head>
<title>Welcome to nginx!</title>
.....

2. 高级数据卷配置

2.1 说明

数据卷 是一个可供一个或多个容器使用的特殊目录,它绕过 UFS,可以提供很多有用的特性:

  • 数据卷 可以在容器之间共享和重用
  • 数据卷 的修改会立马生效
  • 数据卷 的更新,不会影响镜像
  • 数据卷 默认会一直存在,即使容器被删除

注意:数据卷 的使用,类似于 Linux 下对目录或文件进行 mount,镜像中的被指定为挂载点的目录中的文件会复制到数据卷中(仅数据卷为空时会复制)。

2.2 创建数据卷

[root@centos ~]# docker volume create my-vol
my-vol

2.3 查看数据卷

[root@centos ~]# docker volume inspect my-vol
[{"CreatedAt": "2020-11-25T11:43:56+08:00","Driver": "local","Labels": {},"Mountpoint": "/var/lib/docker/volumes/my-vol/_data","Name": "my-vol","Options": {},"Scope": "local"}
]

2.4 挂载数据卷

[root@centos ~]# docker run -d -P --name web  -v my-vol:/usr/share/nginx/html  nginx
[root@centos ~]# docker inspect web"Mounts": [{"Type": "volume","Name": "my-vol","Source": "/var/lib/docker/volumes/my-vol/_data","Destination": "/usr/share/nginx/html","Driver": "local","Mode": "z","RW": true,"Propagation": ""}],

2.5 删除数据卷

docker volume rm my-vol

05-docker高级网络配置和数据卷配置相关推荐

  1. Docker容器-------网络模式,数据卷和数据卷容器

    目录 Docker网络实现原理 Docker的网络模式 Host模式 Container模式 none模式 bridge模式 自定义网络 查看网络模式列表 查看容器信息(包含配置.环境.网关.挂载.c ...

  2. Docker之网络模式和数据卷

    目录 引言 一.Docker的网络模式 1.Docker的四种网络模式 2.Docker的自定义网络

  3. docker高级网络配置、高级数据卷机制和Dockerfile说明

    11.高级网络配置 11.1 说明 当 Docker 启动时,会自动在主机上创建一个 docker0 虚拟网桥,实际上是 Linux 的一个 bridge,可以理解为一个软件交换机.它会在挂载到它的网 ...

  4. 【docker教程】docker视频教程(ubuntu)数据卷挂载、数据卷容器volume、端口映射(镜像叠加,分层复用)rootfs、bootfs(没看完)

    黑马程序员Docker容器化技术,从零学会Docker教程 可以先看1-13课.以及 docker概述 文章目录 docker概述 ubuntu安装docker docker架构 配置docker镜像 ...

  5. Docker容器学习梳理 - Volume数据卷使用

    Docker volume使用 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 Docker中的数据可以存储在类似于虚拟机 ...

  6. docker部署mysql并挂载数据卷

    docker部署mysql并挂载数据卷 备份mysql源文件 windows下备份数据库 # 方法一:进入到mysql安装路径下的bin文件,执行备份命令 # pg_dump -h localhost ...

  7. Docker基本操作五 (挂载数据卷)

    挂载数据卷 我们在创建容器时,可以通过 -v 参数来挂载一个数据卷到某个容器目录 docker run \--name mn \-v html:/root/html \-p 8080:80nginx ...

  8. 从零开始的Docker [ 7 ] --- 顶级 Volumes,数据卷, 系统限制sysctls

    文章目录 容器技术 Docker 应用 一.顶级 Volumes 1.配置 2.启动 二.数据卷 挂载 1.配置 2.启动 三.系统限制 sysctls 1.配置 2.启动 容器技术 Docker 应 ...

  9. Docker镜像原理及容器数据卷

    什么是docker镜像? docker镜像是一个特殊的文件系统,除了提供容器运行时所需的程序.库.资源.配置等文件外,还包含了一些为运行时准备的一些配置参数(如匿名卷.环境变量.用户等):镜像不包含任 ...

最新文章

  1. 他为何能够领跑互联网与AI时代?李彦宏讲述成功之道
  2. C#——语言基础 之 运算符!
  3. python搭建简单http文件服务器
  4. 如何在SAP云平台Neo环境里进行workflow(工作流)的开发
  5. jzoj6800-NOIP2020.9.19模拟spongebob【枚举】
  6. 《SpringCloud超级入门》Spring Cloud Eureka是什么?《八》
  7. 最新 955 不加班公司名单
  8. Flutter实战一Flutter聊天应用(十九)
  9. shell 整理(40)====破解加密的qq号
  10. Mybatis参数Integer类型值为0 源码处理
  11. 三菱plc控制步进电机实例_「PLC案例」三菱FX3U与威纶通HMI的步进定位控制,附程序图~...
  12. RNA-seq流程学习笔记(1)-Ubuntu系统安装SRA数据下载软件Aspera connect和SRT-Toolkit
  13. 那种片里的马赛克,终于可以一键去除了。
  14. 基于stm32蓝牙智能小车设计
  15. 橙单微服务的权限部分之过滤规则
  16. 从事计算机视觉必知的「大牛」有哪些?
  17. sql中向下取整怎么取_Sql Server 里的向上取整、向下取整、四舍五入取整的实例! | 学步园...
  18. 电脑和电话能通话?简单
  19. 免密登录远程服务器(适用于命令窗口和VScode)
  20. 全国大学生数学建模2020A题炉温曲线Matlab代码(前两问)

热门文章

  1. c++实现哈夫曼huffman压缩文本
  2. 智能足球裁判,能否突破专业运动的技术瓶颈
  3. linux驱动由浅入深系列:camera驱动之二(基于高通平台的V4L2结构及代码分析
  4. 防火墙测试-思博伦Avalanche 3100_双极未来
  5. 【项目】C语言实现对英文文本按字典顺序排序(1~100万+个单词,多种排序算法选择)
  6. Node获取微信JSSDK签名测试号案例
  7. matlab中hold all,matlab中的hold
  8. 虚拟主机火云服务器区别,太一云大日如来陆压是什么来历在佛门担任什么职务...
  9. 与苹果斗争,可以不优雅,但要有用
  10. 惠普服务器f10恢复系统,惠普系统还原,手把手教你惠普笔记本怎么还原系统