docker-容器编排

什么是容器编排

​ 批量操作容器,包扣同时启动,同时关闭,同时删除,同时构建

为什么要使用容器编排

​ 总结特点优势

​ 4个同时

​ 1、容器同时启动

​ 2、容器同时关闭

​ 3、镜像和容器同时删除

​ 4、镜像和容器同时构建

容器编排工具

docker-compose

docker-swarm

k8s

使用docker-compose操作容器

条件

1、docker-compose工具

2、docker-compose.yml配置文件

3、nginx镜像

4、rmcore镜像

步骤

1、下载docker-compose工具

​ 1、下载地址

​ sudo curl -L "https://github.com/docker/compose/releases/download/1.24.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

​ 2、增加Compose权限

​ sudo chmod +x /usr/local/bin/docker-compose

​ 3、创建compose快捷方式

​ sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose

​ 4、测试安装是否成功

​ docker-compose --version

2、创建rmcore镜像和nginx镜像

​ 课程已经准备好

3、docker-compose.yml文件配置

version: '3'
services:
rmcoretest:
​ image: rmcore
​ ports:

- 8088:80
- 8089:443
nginxtest:
    image: nginx1
    ports:
 - 8090:80	

4、运行docker-compose.yml文件

​ 1、切换docker-compose.yml目录

​ 2、运行yml文件

​ docker-compose up -d

5、运行是否搭建成功

​ curl 访问链接即可

nginx容器和rmcore容器互联

为什么要进行容器互联

​ 容器之间由于是隔离的,导致网络是不通的。

​ 如何解决呢?

​ 1、查看容器网络

​ docker inspect nginx

​ 2、进入nginx容器

​ docker exec -it nginx /bin/bash

​ 3、修改nginx配置

​ 1、切换到nginx配置目录 cd /usr/local/nginx/conf

​ 2、编辑 vi nginx.conf ,输入容器IP

​ 4、然后进行访问

​ 出现了网络异常问题,如何解决?

​ 使用网络network来解决内部Bridge桥接网络来解决!

​ 条件

​ 1、nginx镜像

​ 2、rmcore镜像

​ 3、容器网络network

​ 步骤

​ 1、使用network设置网络

​ 1.2 查看network使用

​ 1、输入docker命令 ,查看network如何使用

​ 2、输入docker network,查看network使用

​ 1.3 创建网络

​ docker network create nginx-rmcore

​ 1.4 选择驱动版本(默认为桥接版本)

​ 1、桥接网络模式(brigde)**覆盖网络模式(overlay)**主机网络模式(host)MAC网络模式(macvlan):禁用网络模式(none):其它模式(网络插件)

​ 2、如何在docker-compose.yml文件内使用network

version: '3'
services:
rmcoretest:
​ image: rmcore
​ ports:

- 8088:80
- 8089:443
     networks:
 - nginx-rmcore
     nginxtest:
         image: nginx1
         ports:
 - 8090:80
      networks:
 - nginx-rmcore

networks:
​ nginx-rmcore:
​ external: true

​ 2、更新compose.yml配置文件

​ docker-compose up -d

docker-compose缺陷

​ docker只能管理自身主机上容器

​ docker无法管理其他主机上的容器

​ 如何解决这个问题呢?

​ docker-swarm

​ k8s