Docker学习笔记 - Docker容器之间的连接
学习目标:
容器之间可以相互连接访问:: --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容器之间的连接的更多相关文章
- Docker学习笔记 — Docker私有仓库搭建
Docker学习笔记 — Docker私有仓库搭建 目录(?)[-] 环境准备 搭建私有仓库 测试 管理仓库中的镜像 查询 删除 Registry V2 和Mavan的管理一样,Dockers ...
- Docker学习笔记 - Docker容器内部署redis
Docker学习笔记(2-4)Docker应用实验-redist server 和client的安装使用 一.获取redis容器(含客户端和服务端) 二.创建服务端容器 1.在终端A中运行redis- ...
- docker学习笔记:容器的网络设置
创建一个docker容器,docker系统会自动为该容器分配一个ip地址,通常是172.17开头. 我们可以在主机上用 docker inspect 命令 或者进入容器用ifconfig命令来查看容器 ...
- Docker学习笔记 - Docker的数据卷容器
一.什么是数据卷容器 如果你有一些持续更新的数据需要在容器之间共享,最好创建数据卷容器. 数据卷容器:用于容器间的数据共享,主动挂载宿主机目录,用于其他容器挂载和共享. 二.数据卷容器的操作 1.创建 ...
- Docker学习笔记 - Docker容器的网络基础
一.虚拟网桥 docker0 docker0 是 linux的虚拟网桥,守护进程通过docker0给容器提供网络连接的各种服务. 网桥是数据链路层设备,通常ip地址是网络层的设置.linux的虚拟网桥 ...
- Docker学习笔记——制作容器与容器概念
Docker能做些什么? 1.docker能够解决虚拟机能够解决的问题 2.隔离应用依赖 3.创建应用镜像并复制 4.创建容易分发的即启即用的应用 5.docker的想法是创建软件程序可移植的轻量容器 ...
- Docker学习笔记 - Docker客户端和服务端
学习内容: Docker客户端和服务端的通讯方式:client和自定义程序 Docker客户端和服务端的连接方式:socket 演示Docker客户端和服务端之间用remote-api通讯:nc ...
- Docker学习笔记 - Docker Compose 脚本命令
Docker Compose 配置文件包含 version.services.networks 三大部分,最关键的是 services 和 networks 两个部分, version: '2' se ...
- Docker学习笔记 - Docker的数据卷
一.什么是数据卷? 数据卷是一个可供一个或多个容器使用的特殊目录,它绕过 UFS,可以提供很多有用的特性: 数据卷可以在容器之间共享和重用 对数据卷的修改会立马生效 对数据卷的更新,不会影响镜像 数据 ...
随机推荐
- 使用Python解析豆瓣上Json格式数据
现在的API接口多为xml或json,json解析更简洁相对xml来说 以豆瓣的API接口为例,解析返回的json数据: https://api.douban.com/v2/book/1220562 ...
- 【python学习笔记】4.字典:当索引不好用时
[python学习笔记]4.字典:当索引不好用时 字典是python中唯一内建的map类型 创建: key可以为任何不可改变的类型,包括内置类型,或者元组,字符串 通过大括号: phonebook={ ...
- 线程池ThreadPoolExecutor源码解读研究(JDK1.8)
一.什么是线程池 为什么要使用线程池?在多线程并发开发中,线程的数量较多,且每个线程执行一定的时间后就结束了,下一个线程任务到来还需要重新创建线程,这样线程数量特别庞大的时候,频繁的创建线程和销毁线程 ...
- 手机端原生js实现下拉刷新数据
HTML结构如下: <div class="outerScroller comment"> <div class='scroll comment'> < ...
- 来自后端的突袭? --浅尝最新开源的C# Web引擎 Blazor
在今年年初, 恰逢新春佳节临近的时候. 微软给全球的C#开发者们, 着实的送上了一分惊喜. 微软正式开源Blazor ,将.NET带回到浏览器. 这个小惊喜, 迅速的在dotnet开发者中间传开了. ...
- ELK学习笔记(三)单台服务器多节点部署
一般情况下单台服务器只会部署一个ElasticSearch node,但是在学习过程中,很多情况下会需要实现ElasticSearch的分布式效果,所以需要启动多个节点,但是学习开发环境(不想开多个虚 ...
- linux --> ubuntu和mac通过samba共享
ubuntu和mac通过samba共享 如果想快速配置,直接跳到第五步. 一.安装smb 执行下列命令 sudo apt-get install samba sudo apt-get install ...
- 数据库 --> sqlite3总结
Sqlite3总结 SQLite,是一款轻型的数据库,是遵守ACID的关系型数据库管理系统,它包含在一个相对小的C库中. sqlite语句 #sqlite3 test.db //设置宽度为2sqlit ...
- Java 小记 — RabbitMQ 的实践与思考
前言 本篇随笔将汇总一些我对消息队列 RabbitMQ 的认识,顺便谈谈其在高并发和秒杀系统中的具体应用. 1. 预备示例 想了下,还是先抛出一个简单示例,随后再根据其具体应用场景进行扩展,我觉得这样 ...
- 利用CSS3制作网页动画
如何在网页中实现动画效果动态图片 flashjavascriptcss3变形是一些效果的集合如平移 旋转 缩放 倾斜效果每个效果都可以称为变形(transfrom) 它们可以分别操控元素发生平移.旋转 ...