玩一玩docker自动编排工具——docker compose的介绍和使用

网友投稿 262 2022-10-29

玩一玩docker自动编排工具——docker compose的介绍和使用

玩一玩docker自动编排工具——docker compose

前言

​ 上两篇文章都是再玩儿Dockerfile,主要是基于Dockerfile构建各种服务镜像。而本文将介绍及演示docker的自动编排工具——docker compose的概念和使用。

什么是docker compose?

​ 先前我们在使用Dockerfile构建镜像时,在编写好Dockerfile文件以及其他必要文件后,需要使用docker build 、docker run 等命令操作{创建,启动,停止等}容器。然而,在微服务架构体系中,一个应用系统一般包含若干个服务器,每个微服务通常都会部署多个实例,如果每个服务都要手动启停,那么这样效率太低了,而且维护也非常不方便。

​ 因此,便有了docker compose,它可以轻松、高效地管理容器,是一个用于定义和运行多容器docker的应用程序工具。

下面结合实际例子来使用以下docker compose工具吧,之后会给出编排文件常用的字段介绍以及docker-compose的相关命令介绍。

基于docker compose工具构建nginx容器服务

首先,我们需要创建一个目录,其中需要包含一个构建Dockerfile的nginx目录,首页页面测试目录以及docker-compose.yml文件

所以,一方面我们需要docker安装环境,也需要安装docker compose工具;

再者,依旧是需要编写nginx服务的Dockerfile和运行脚本,结合指定的页面目录来进行测试验证;

接下来,编写yml格式的docker-compose.yml文件,并且执行对应的命令。

下面是这个案例的目录结构

[root@localhost opt]# tree compose_nginx/ compose_nginx/ ├── docker-compose.yml ├── nginx │?? ├── Dockerfile │?? └── nginx.sh └── wwwroot └── index.html 2 directories, 4 files

Dockerfile以及对应的文件都无需更改,我们需要做的就是编写一个首页页面

[root@localhost opt]# cat compose_nginx/ this is test web

接着编写docke-compose.yml文件

[root@localhost opt]# cat compose_nginx/docker-compose.yml version: '3' services: nginx: hostname: nginx build: context: ./nginx dockerfile: Dockerfile ports: - 1216:80 - 1217:443 networks: - cluster volumes: - ./wwwroot:/usr/local/nginx/html networks: cluster:

docker-compose.yml文件解释

启动运行

[root@localhost opt]# docker-compose -f compose_nginx/docker-compose.yml up -d #-f——指定文件 -d——后台 up——启动 ....//第一次执行过程比较久,显示信息多,这里就省略了。

运行的结果和一些解释如下图

如果重复执行上述命令则会出现以下结果,因此这个WARNING是一个比较友好的提示哦!

[root@localhost opt]# docker-compose -f compose_nginx/docker-compose.yml up -d compose_nginx_nginx_1 is up-to-date

查看镜像和容器

[root@localhost opt]# docker images REPOSITORY TAG IMAGE ID CREATED SIZE compose_nginx_nginx latest 67f9a64cc32d 5 minutes ago 587MB centos 7 5e35e350aded 5 months ago 203MB [root@localhost opt]# docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 8f3d48d7c765 compose_nginx_nginx "/nginx.sh" 5 minutes ago Up 5 minutes 0.0.0.0:1216->80/tcp, 0.0.0.0:1217->443/tcp compose_nginx_nginx_1

测试验证:

Docker compose配置常用字段(.yml文件中)

Docker compose常用命令(bash终端)

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:SpringMVC实现Controller的三种方式总结
下一篇:第二十六章 九析带你轻松完爆 Istio - k8s 流量进入集群之 NodePort
相关文章

 发表评论

暂时没有评论,来抢沙发吧~