Linux企业实战之容器(十)——Docker(10)

    技术2024-12-25  11

    Docker Compose

    1 Docker Compose简介

    微服务架构的应用系统一般包含若干个微服务,每个微服务一般都会部署多个实例,如果每个微服务都要手动启停,那么效率之低,维护量之大可想而知。

    Docker Compose是一种编排服务,基于python语言实现,是一个用于在Docker上定义并运行复杂应用的工具,可以让用户在集群中部署分布式应用;

    用户可以容易地用一个配置文件定义一个多容器的应用,然后使用一条指令安装这个应用的所有依赖,完成构建。

    解决了容器与容器之间如何管理编排的问题。

    Docker Compose 中有两个重要的概念:

    服务(service):一个应用的容器,实际上可以包括若干运行相同镜像的容器实例。项目(project):由一组关联的应用容器组成的一个完整业务单元,在docker-compose.yml文件中定义。

    Docker Compose 常用命令

    命令功能Build构建或重新构建服务kill强制停止服务容器logs查看服务的输出port打印绑定的公共端口ps列出所有容器pull拉取服务所需镜像rm删除停止的服务容器up构建并启动容器

    2 Docker Compose实践

    实验内容:使用docker compose管理nginx、haproxy镜像,实现nginx网页的高可用,,实现负载均衡实验环境: server1 安装好docker-compose 配置好相关服务 classroom 进行对server3上搭建的服务进行测试

    实验过程:

    步骤一:将docker-compose的包放置到/usr/local/bin目录下,给其增加执行权限

    步骤二:创建并编辑docker-compose.yml文件,创建默认访问的页面(web1和web2) mkdir compose touch docker-compose.yml vim docker-compose.yml mkdir haproxy yum install haproxy -y cd compose/haproxy cp /etc/haproxy/haproxy.cfg . mkdir web{1,2} echo we1>web1/index.html echo we2>web2/index.html

    步骤三:编辑haproxy的配置文件,启动docker-compose cd compose/haproxy vim haproxy.cfg cd compose docker-compose up docker-compose start docker-compose ps

    步骤四:在classroom上进行对server1的访问测试

    步骤五:为后端服务器创建共享目录 docker-compose stop vim docker-compose.yml #给后端的web1和web2搭建一个共享的目录webdata docker-compose up -d #启动docker-compose,-d表示打入后台 docker-compose ps

    步骤六:测试 curl 192.168.43.101 #在classroom上访问

    docker inspect compose_web1_1 cd /var/lib/docker/volumes/compose_webdata/_data vim test.html

    最后测试一下它的健康检查功能 docker-compose ps docker stop compose_web1_1 #停掉web1 curl 192.168.43.101 #在classroom上进行访问 docker start compose_web1_1 docker-compose ps

    总结:上述实验中,我们将应用以容器化的方式来进行管理,实现了单机+docker完成了应用的部署,而我们常规的利用非docker环境来做这个实验,至少需要3台虚拟机。所以容器是十分方便并且快捷的一种工具。

    Processed: 0.009, SQL: 9