• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
导航菜单
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • windows
  • 服务器硬件
  • 服务器运维
  • 云计算
  • 虚拟化
  • IIS教程
  • Linux
  • Apache
  • Ftp
  • DNS
  • Nginx
您的位置:首页 > 服务器 >虚拟化 > Docker 基础网络配置详解

Docker 基础网络配置详解

作者:江上清风游 字体:[增加 减小] 来源:互联网

本文主要包含Docker,网络配置等服务器相关知识,江上清风游 希望可以进行参考

外部访问

随机映射端口

使用 -P 标记,Docker会随机映射一个49000-49900的端口到内部容器开放的网络端口
docker run -d -P training/webapp python app.py
docker ps -l # 显示最近创建的容器
docker logs -f web # 查看应用的信息

映射所有接口地址

docker run -d -p 5000:5000 training/webapp python app.py

映射到指定地址的指定端口

docker run -d -p 127.0.0.1:5000:5000 training/webapp python app.py

映射到指定地址的任意端口

docker run -d -p 127.0.0.1::5000 training/webapp python app.py

指定udp端口

docker run -d -p 127.0.0.1:5000:5000/udp training/webapp python app.py

查看映射端口配置

dokcer port web 5000

新建一个docker网络

docker network create -d bridge my-net

运行容器连接到新建的my-net网络

docker run -it --rm --name busybox1 --network my-net busybox sh
docker run -it --rm --name busybox2 --network my-net busybox sh

查看容器信息

docker container ls
容器内ping测试容器是否互联

多个容器互联 推荐Docker Compose

配置DNS 宿主机DNS信息更新后,所有Docker容器的DNS配置通过/etc/resolv.conf立即更新

配置全部容器的DNS

vim /etc/docker/daemon.json 增加内容

{
 'dns':[
  "114.114.114.114",
  "8.8.8.8"
 ]
}

docker run -it --rm ubuntu:17.10 cat /etc/resolv.conf

容器互联

容器的连接系统是除了端口映射外另一种可以与容器中应用进行交互的方式。

它会在源和接收容器之间创建一个隧道,接收容器可以看到源容器指定的信息。

自定义容器名

连接系统根据容器的名称执行,所以需要自定义一个较为简单容易区分的容器名。

自定义命名使用--name参数,这个在之前的文章中已经遇到过了:

docker run -d -p --name db mysql

容器的命名必须是唯一的。

执行docker run时,如果加上--rm参数,容器在终止后悔立即被删除,但是不能与-d参数一同使用。

容器互联

使用--link参数可以让容器间建立安全的连接进行交互。

下面是一个示例:

首先创建一个数据库的容器:

docker run -d --name db training/postgres

然后创建web容器:

docker run -d -P --name web --link db:db training/webapp python app.py

此时db容器和web容器加你互联关系。

--link参数:--link name:alias,name是要连接的容器的名字,alias是这个连接的别名。

可以使用docker ps查看容器信息,其中names列就能看出互联的状态。

docker在两个互联的容器之间建立了一个安全隧道,不需要吧他们的端口映射到宿主主机上,也可以避免端口的暴露。

Docker通过两种方式公开连接信息:

  • 环境变量
  • 更新/etc/hosts文件

使用env命令查看刚刚的web容器的环境变量:

docker run --rm --name web2 --link db:db training/webapp env ...

其中DB_开头的环境变量是供web容器连接db容器使用,前缀采用大写的连接别名。

除了环境变量,Docker还添加host信息到父容器的/etc/hosts文件。其中web容器会以自己的ID作为默认主机名,db容器以db作为主机名。

比如多个web到db容器的情况,可以链接多个子容器到父容器上。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。

您可能感兴趣的文章:

  • Docker 默认bridge网络中配置DNS的方法
  • Docker 配置网络使用bridge网络的方法
  • docker之点到点的容器网络的配置
  • centos修改docker网络配置方法分享
  • Docker基础 :网络配置详解
  • Docker 手动配置容器网络实例详解
  • 详解Docker中VLAN网络模式的配置
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • Docker实践8:Compose,docker实践compose
  • Docker buildx构建多平台镜像并推送到私有仓库的方法
  • Docker三个基本概念镜像(Image)容器(Container)仓库(Repository)
  • 什么是Docker?为什么要使用Docker
  • docker 开源的应用容器引擎
  • 如何给docker设置http代理
  • docker官方mysql镜像自定义配置详解
  • 详解Docker数据管理(数据卷&数据卷容器)
  • 如何利用Docker容器实现代理转发与数据备份详解
  • 详解Docker Swarm 在持续集成测试中的应用

相关文章

  • docker镜像无法上传的解决方法
  • 详解Docker使用Linux iptables 和 Interfaces管理容器网络
  • VMware Workstation Pro12安装RedHat6.4 64位教程
  • Docker日志太多导致磁盘占满的处理方法
  • 浅谈Docker安全机制内核安全与容器之间的网络安全 原创
  • OpenStack Tempest的正确的打开方式
  • VMware12中MS-DOS 7.10安装图文教程
  • 详解修改docker时区及docker常用命令
  • Ubuntu下安装Docker教程
  • Docker容器 日志中文乱码问题解决办法

文章分类

  • windows
  • 服务器硬件
  • 服务器运维
  • 云计算
  • 虚拟化
  • IIS教程
  • Linux
  • Apache
  • Ftp
  • DNS
  • Nginx

最近更新的内容

    • Docker中容器数据卷(Data Volume)和数据管理详解
    • Docker中配置国内镜像设置
    • MacBookPro下docker的安装与使用教程
    • 卡西欧通过与红帽和IBM合作的开源虚拟化技术
    • Kubernetes(k8s)基础介绍
    • WIN10下安装Docker的教程
    • Citrix XenServer 6.1 安装图解教程
    • 滚动 docker 中的 nginx 日志思路详解
    • 使用VMware10安装Ubuntu 14步骤图文详解
    • Docker push镜像失败解决方法

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有