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