docker 入门(2)
1,多容器环境

运行docker容器

进入容器并查看该容器的IP

exit退出容器
运行超小的linux的docker镜像alpine

可以看到如果没有提前把镜像pull到本地,直接run的话,它会自动去pull。
进入容器
docker exec -it 6e913 sh
注:sh和bash都是常用的shell

安装curl

curl 是常用的命令行工具,用来请求 Web 服务器。它的名字就是客户端(client)的 URL 工具的意思。
http://www.ruanyifeng.com/blog/2019/09/curl-reference.html
用alpine容器中的curl工具 访问 nginx容器

exit退出容器

因为在实际生产中我们可能不知道nginx容器的ip,那怎么访问呢
先把linux容器删掉

docker run -dit --link mynginx:mynginx alpine
--link 前者是要连接的容器,后者是要连接的容器的别名。


通过域名方法访问nginx容器

查看hosts文件

可以看到 --link参数就是在hosts文件中增加了条映射
当我们访问 mynginx域名时就自动解析为 172.17.0.2这个ip
2,Docker-Compose
docker-compose是一个Python程序,可以很方便地管理 由多个Docker实例组成的分布式服务。
如果需要比较多的容器,向上面那样挨个配置比较繁琐,这里就引出了docker-compose这个工具。
docker-compose 是一个用户定义和运行多个容器的 Docker 应用程序。在 Compose 中你可以使用 YAML 文件来配置你的应用服务。然后,只需要一个简单的命令,就可以创建并启动你配置的所有服务。
先安装python-pip软件包
sudo aptitude install python-pip 安装docker-compose
sudo pip install docker-compose>=1.8.
一个实验来说明docker-compose的使用,这个实验要搭建的环境由三个容器组成。

把这三个容器的镜像配置和映射关系等都写到一个后缀为.yml的配置文件中

这是一个yml文件的截图
第1行 version即版本号
第3到9为nginx服务(容器)的配置,image配置镜像,ports配置端口(命令中的-p),volumes配置映射文件(命令中的-v)
在该配置文件所在目录运行命令
docker-compose up -d
-d 后台启动

可以看到这样就运行了三个容器。
感觉这yaml文件类似于Makefile文件啊。
3,kubernetes(k8s)了解
k8s是谷歌开源的一个容器管理编排工具,常用它来编排docker容器,它和docker一样都是用go语言编写的。
k8s的基本架构

k8s调度的最小单位是pod(docker+pause),一个node中可以包含多个pod。
其中的deployment用于维持pod的数量,但我们设置10pod提供服务,过程中有1个发生故障停止服务,该模块会自动启动1个pod维持设定的pod数量。
其中的service用于负载均衡,把多个pod抽象为一个服务,把多个pod分配到不同的node。
详见B站视频
https://www.bilibili.com/video/av61131351
https://www.bilibili.com/video/av61990770
docker 入门(2)的更多相关文章
- 第三章 Docker 入门
第三章 docker 入门 3.1 确保docker已经就绪 首先查看docker程序是否存在,功能是否正常 [#3#cloudsoar@cloudsoar-virtual-machine ~]$su ...
- Docker入门教程(九)10个镜像相关的API
Docker入门教程(九)10个镜像相关的API [编者的话]DockerOne组织翻译了Flux7的Docker入门教程,本文是系列入门教程的第九篇,重点介绍了镜像相关的Docker Remote ...
- Docker入门教程(八)Docker Remote API
Docker入门教程(八)Docker Remote API [编者的话]DockerOne组织翻译了Flux7的Docker入门教程,本文是系列入门教程的第八篇,重点介绍了Docker Remote ...
- Docker入门教程(七)Docker API
Docker入门教程(七)Docker API [编者的话]DockerOne组织翻译了Flux7的Docker入门教程,本文是系列入门教程的第七篇,重点介绍了Docker Registry API和 ...
- Docker入门教程(六)另外的15个Docker命令
Docker入门教程(六)另外的15个Docker命令 [编者的话]DockerOne组织翻译了Flux7的Docker入门教程,本文是系列入门教程的第六篇,继续介绍Docker命令.之前的第二篇文章 ...
- Docker入门教程(五)Docker安全
Docker入门教程(五)Docker安全 [编者的话]DockOne组织翻译了Flux7的Docker入门教程,本文是系列入门教程的第五篇,介绍了Docker的安全问题,依然是老话重谈,入门者可以通 ...
- Docker入门教程(四)Docker Registry
Docker入门教程(四)Docker Registry [编者的话]DockerOne组织翻译了Flux7的Docker入门教程,本文是系列入门教程的第四篇,介绍了Docker Registry,它 ...
- Docker入门教程(三)Dockerfile
Docker入门教程(三)Dockerfile [编者的话]DockerOne组织翻译了Flux7的Docker入门教程,本文是系列入门教程的第三篇,介绍了Dockerfile的语法,DockerOn ...
- Docker入门教程(二)命令
Docker入门教程(二)命令 [编者的话]DockerOne组织翻译了Flux7的Docker入门教程,本文是系列入门教程的第二篇,介绍了Docker的基本命令以及命令的用法和功能. 在Docker ...
- Docker入门教程(一)介绍
http://dockone.io/article/101 Docker入门教程(一)介绍 [编者的话]DockerOne组织翻译了Flux7的Docker入门教程,本文是系列入门教程的第一篇,介绍了 ...
随机推荐
- 一句话说明Facbook React证书的矛盾点
这项专利授权说,如果您要使用我们根据这项授权发布的软件,假如您因为专利侵权而提起诉讼,您将失去我们的专利许可.
- [SQL Server常用系统存储过程大全]
1. sp_help 报告有关数据库对象(sys.sysobjects 兼容视图中列出的所有对象) sp_help 表名称,存储过程名称等 2. sp_helpdb 报告有关数据库 ...
- Spring Bean学习创建及使用<一>
转自:http://glzaction.iteye.com/blog/1299441 Spring中依赖注入有三种注入方式: 一.构造器注入: 二.设值注入(setter方式注入): 三.Feild方 ...
- JDBC接口核心的API
java.sql.* 和 javax.sql.* Driver接口: 表示java驱动程序接口.所有的具体的数据库厂商要来实现此接口. |- connect(url, properties): ...
- MVC和MVP区别
从这幅图可以看到,我们可以看到在MVC里,View是可以直接访问Model的!从而,View里会包含Model信息,不可避免的还要包括一些业务逻辑. 在MVC模型里,更关注的Model的不变,而同时有 ...
- c# httphelper (苏飞老师)
/// <summary> /// 类说明:HttpHelper类,用来实现Http访问,Post或者Get方式的,直接访问,带Cookie的,带证书的等方式,可以设置代理 /// 重要提 ...
- OOP、DI、IOC的关系
此随笔的重点在“Demo分析”一章,以代码的分阶段变化讲述了DI,DIP,IOC的演变,写在前面文字均为铺垫. 希望各位园友拍砖,促使流浪者的进步,现在有很多问题想讨论,即以此文寻找志同道合的园友,另 ...
- 安德鲁1.2Ku全下125C波(CCTV4K除外)
闲来无事.没事挑战下难度. 前面高楼挡住了,一直没有试过125, 没想到1.2的锅能全下 机器:恐龙机dinobot4K+ 天线:安德鲁1.2ku 接送结果:除4K外所有高清 图片如下
- 5、kubernetes资源清单定义入门
使用配置清单创建资源 定义pod时使用yaml格式 master ~]# kubectl get pod NAME READY STATUS RESTARTS AGE client / Error 1 ...
- GB 和 GiB 的区别
GB 和 GiB 的区别 Gibibyte (GiB) is one of the standard units used in the field of data processing and da ...