Docker应用 - 使用Docker Compose编排容器
发布时间:2021-12-14 08:54:09 所属栏目:Linux 来源:互联网
导读:什么是docker compose? 先前我们在使用Dockerfile构建镜像时,在编写好Dockerfile文件以及其他必要文件后,需要使用docker build 、docker run 等命令操作{创建,启动,停止等}容器。然而,在微服务架构体系中,一个应用系统一般包含若干个服务器,每个微
什么是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/wwwroot/index.html <h1>this is test web</h1> 接着编写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文件解释 version:声明版本,目前是3 service:具体的服务 nginx:服务名称 hostname:容器主机名称 build:创建 context:提供资源和素材提供的目录,用来创建容器的路径 dockerfile:Dockerfile文件 ports:提供的端口,相当于执行docker run -p的设置 networks:网络名称,如果是群集那么这个名称设置需要一致(同一个网络环境) volumes:数据卷,本次案例是提供首页页面 networks:services的子选项针对外公开的网络名称 启动运行 [root@localhost opt]# docker-compose -f compose_nginx/docker-compose.yml up -d #-f——指定文件 -d——后台 up——启动 ....//第一次执行过程比较久,显示信息多,这里就省略了。 (编辑:随州站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |