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

最新文章

  1. Oracle创建数据库
  2. hibernate简单注释(一.1)
  3. Eclipse启动认定SDK地址,出现Error executing aapt
  4. D3.js 选择元素和绑定数据/使用数据
  5. M2的来源很简单
  6. LeetCode 125. Valid Palindrome
  7. 【CSS3】---阴影 box-shadow
  8. poj 2230 Watchcow(欧拉回路)
  9. java中打开说明文档
  10. java.lang.OutOfMemoryError: PermGen space 解决方案
  11. 3D旋转动画练习 demo
  12. C++ substr
  13. 使用Dockerfile自定义一个包含centos,tomcat的镜像
  14. 给xen虚拟机添加硬盘分区格式化
  15. kettle 连接 SQL Server 异常
  16. YAML学习
  17. OpenJDK换为JDK(CentOS)
  18. 16.Set、List、Queue集合;Map.md
  19. Windows 2008 R2防火墙设置运行被ping通
  20. [51单片机] Keil C51中变量的使用方法详解

热门文章

  1. 查重复出现的字段 SQL
  2. LC 470. Implement Rand10() Using Rand7()
  3. gitlab仓库的使用
  4. gimp怎么移动选取中的图像并创建图层
  5. 工具类 分页工具类PageParamBean
  6. JavaScript(4):正则表达式
  7. Oracle 行列转换公式
  8. Flume下载安装
  9. C#连接oracle数据库报错:OCIEnvCreate 失败,返回代码为 -1,但错误消息文本不可用
  10. SolidWorks学习笔记2草图