学习目标:

容器之间可以相互连接访问:: --link redis:redisAlias

准备工作

  FROM ubuntu:14.04

  RUN apt-get install -y ping

  RUN apt-get update

  RUN apt-get install -y nginx

  RUN pat-get install -y curl

  EXPOSE 80

  CMD /bin/bash

  

  #构建测试镜像

  docker build -t lexiaofei/cct .

1、允许所有容器互联 --icc=true 默认

  $ docker run -it --name cct1 lexiaofei/cct

  # nginx

  CTRL+P

  

  $ docker run -it --name cct2 lexiaofei/cct

  #ifconfig

  172.17.0.7

  CTRL+P

  $ docker attach cct1

  #ifconfig

  

  172.17.0.6

  

  # ping 172.17.0.7

说明cct1能够连接到cct2

  CTRL+P

  docker attach cct2

  curl http://172.17.0.6

  有返回值

  docker stop cct1

  docker restart cct1

  docker attach cct1

  ifconfig 发现ip变了,重启实例会变化,所以不能使用容器ip地址互访,重启时会失效

  

  

使用link选项,指定代号访问容器

docker run -it --name cct3 --link=cct1:webtest  /lexiaofei/cct

ping webtest

在cct3中,env 发现cct3启动时添加了大量WEBTEST打头的变量

vi /etc/hosts 发现添加了映射

sudo service docker restart

docker ps

docker restart cct1 cct2 cct3

docker attach cct3

ping webtest 发现能通

发现env和/etc/hosts也随之变了。

2、拒绝容器间连接 -icc=false

修改默认配置文件 /etc/default/docker

修改完毕 service docker restart

  docker restart cct1 cct2 cct3

docker attach cct3

ping webtest 失败

3、允许特定容器间连接

设置 -icc=false --iptables=true, 修改默认配置文件 /etc/default/docker

修改完毕 service docker restart

使用--link选项

  docker attach cct1

  #nginx

  #exit

  docker attach cct3

  

  # curl webtest

  

  docker run -it --name cct4 --link=cct1:webtest  leixaofei/cct

  # curl webtest

  检查设置iptables

  sudo iptables -L -n

  

  清空iptables

  sudo iptables -F

  sudo iptables -L -n

  sudo service docker restart 

  

  sudo iptables -L -n 规则链现在显示可以了

  docker restart cct1 cct2 cct3 cct4

  docker attach cct1

  # nginx

  ctrl+p

  

  docker cct4

  curl cct1

Docker学习笔记 - Docker容器之间的连接的更多相关文章

  1. Docker学习笔记 — Docker私有仓库搭建

    Docker学习笔记 — Docker私有仓库搭建   目录(?)[-] 环境准备 搭建私有仓库 测试 管理仓库中的镜像 查询 删除 Registry V2   和Mavan的管理一样,Dockers ...

  2. Docker学习笔记 - Docker容器内部署redis

    Docker学习笔记(2-4)Docker应用实验-redist server 和client的安装使用 一.获取redis容器(含客户端和服务端) 二.创建服务端容器 1.在终端A中运行redis- ...

  3. docker学习笔记:容器的网络设置

    创建一个docker容器,docker系统会自动为该容器分配一个ip地址,通常是172.17开头. 我们可以在主机上用 docker inspect 命令 或者进入容器用ifconfig命令来查看容器 ...

  4. Docker学习笔记 - Docker的数据卷容器

    一.什么是数据卷容器 如果你有一些持续更新的数据需要在容器之间共享,最好创建数据卷容器. 数据卷容器:用于容器间的数据共享,主动挂载宿主机目录,用于其他容器挂载和共享. 二.数据卷容器的操作 1.创建 ...

  5. Docker学习笔记 - Docker容器的网络基础

    一.虚拟网桥 docker0 docker0 是 linux的虚拟网桥,守护进程通过docker0给容器提供网络连接的各种服务. 网桥是数据链路层设备,通常ip地址是网络层的设置.linux的虚拟网桥 ...

  6. Docker学习笔记——制作容器与容器概念

    Docker能做些什么? 1.docker能够解决虚拟机能够解决的问题 2.隔离应用依赖 3.创建应用镜像并复制 4.创建容易分发的即启即用的应用 5.docker的想法是创建软件程序可移植的轻量容器 ...

  7. Docker学习笔记 - Docker客户端和服务端

    学习内容: Docker客户端和服务端的通讯方式:client和自定义程序 Docker客户端和服务端的连接方式:socket 演示Docker客户端和服务端之间用remote-api通讯:nc   ...

  8. Docker学习笔记 - Docker Compose 脚本命令

    Docker Compose 配置文件包含 version.services.networks 三大部分,最关键的是 services 和 networks 两个部分, version: '2' se ...

  9. Docker学习笔记 - Docker的数据卷

    一.什么是数据卷? 数据卷是一个可供一个或多个容器使用的特殊目录,它绕过 UFS,可以提供很多有用的特性: 数据卷可以在容器之间共享和重用 对数据卷的修改会立马生效 对数据卷的更新,不会影响镜像 数据 ...

随机推荐

  1. linux的学习之路--(五)bash及其特性

    操作系统组成作用shell是离用户最近的程序 shell:外壳 两类 GUI:Gnome,KDE,Xfce CLI:sh, csh,ksh,bash(都是程序,就是功能支持的不同而已) 进程:在每个进 ...

  2. 笔记:Maven 仓库及配置详解

    本地创建默认路径在 用户目录\.m2\repository,如果需要自定义本地创建目录地址,可以编辑文件 用户目录\.m2\settings.xml(文件不存在,则需要从Maven安装目录的Conf目 ...

  3. Android 使用shape定义不同控件的的颜色、背景色、边框色

    Android 使用shape定义不同控件的的颜色.背景色.边框色 设置按钮的右边框和底边框颜色为红色,边框大小为3dp: 在drawable新建一个 buttonstyle.xml的文件,内容如下: ...

  4. [机器学习Lesson 2]代价函数之线性回归算法

    本章内容主要是介绍:单变量线性回归算法(Linear regression with one variable) 1. 线性回归算法(linear regression) 1.1 预测房屋价格 该问题 ...

  5. Vim编辑器的注释,解注,删除与恢复

    1. 注释: 将光标移动到注释首部 命令模式下 Ctrl+V,进入列模式 上下移动,选中待注释内容 按大写I,进入插入模式 输入 // or # 按两次退出 2 解注 将光标移动到待解注首部 命令模式 ...

  6. [日常] AtCoder Beginner Contest 075 翻车实录

    别问我为啥要写一篇ABC的游记... 周日打算CF开黑于是就打算先打打ABC找回手速... 进场秒掉 $A$ 和 $B$ , 小暴力一脸偷税 然后开 $C$ ...woc求桥? 怎么办啊我好像突然忘了 ...

  7. CSS2Properties doesn't have an indexed property setter for '0'

    使用React时,发现chrome浏览器没事,firefox火狐浏览器报了一个CSS2Properties doesn't have an indexed property setter for '0 ...

  8. spring学习笔记一 入门及配置

    Spring是一个开源框架,为了解决企业应用开发的复杂性而创建的.主要优势之一就是其分层架构.Spring的核心是控制反转和面向切面.简单来说,Spring是一个分层的一站式轻量级开源框架. 使用Sp ...

  9. Spring学习笔记(1)

    激发pojo的潜能,不会让pojo类继承实现或导入与Spring API相关的任何东西 那么spring怎么装配pojo呢-------->依赖注入(最大好处:松耦合) 耦合具有两面性: 一方面 ...

  10. PTA的使用简介

    PTA(Programming Teaching Assistant)是PAT(Programming Ability Test)的配套练习平台. 1.关于PAT PAT(Programming Ab ...