docker-compose编排最佳实战(多服务)

建 docker-compose 文件
volumes中挂载的目录当宿主机不存在时,会自动创建

vi docker-compose.yml
version: "2" # 使用Version 2
services: # 包含需要操作的容器
web1: # 容器的名称
image: nginx # 指定基于哪个镜像
ports: # 指定映射的端口

  • "8080:80"
    networks: # 指定使用哪个网络模式
  • "net1"
    volumes: # 指定挂载的的目录
  • /data/www:/usr/share/nginx/html
    web2:
    image: nginx
    ports:
  • "8081:80"
    networks:
  • "net2"
    volumes:
  • /data/www1:/usr/share/nginx/html
    networks:
    net1:
    driver: bridge
    net2:
    driver: bridge

docker-compose文件内容区域

  • services : 服务,定义应用需要的一些服务,每个服务都有自己的名字、使用的镜像、挂载的数据卷、所属的网络、依赖哪些其他服务等等
  • networks : 网络,定义应用的名字、使用的网络类型等等
  • volumes : 数据卷,定义的数据卷(名字等等),然后挂载到不同的服务下去使用
    使用docker-compose 开始构建容器
    [[email protected] opt]# docker-compose up -d
    Creating network "opt_net2" with driver "bridge"
    Creating network "opt_net1" with driver "bridge"
    Creating opt_web2_1 ... done
    Creating opt_web1_1 ... done
    [[email protected] opt]# docker ps
    CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
    f959c27eb8b0 nginx "nginx -g ‘daemon of…" 4 seconds ago Up 3 seconds 0.0.0.0:8081->80/tcp opt_web2_1
    60e8f1e1ba90 nginx "nginx -g ‘daemon of…" 4 seconds ago Up 3 seconds 0.0.0.0:8080->80/tcp
    向web挂载目录添加内容
    echo "webweb" > /data/www/index.html
    echo "web11111" > /data/www1/index.html

查看容器状态
[[email protected] opt]# docker-compose ps
Name Command State Ports

opt_web1_1 nginx -g daemon off; Up 0.0.0.0:8080->80/tcp
opt_web2_1 nginx -g daemon off; Up 0.0.0.0:8081->80/tcp
停止已有的容器:
[[email protected] ~]# docker-compose stop
Stopping root_app1_1 ... done
Stopping root_app2_1 ... done
[[email protected] ~]#
启动已有的容器:
[[email protected] ~]# docker-compose start
Starting app2 ... done
Starting app1 ... done
[[email protected] ~]#
查看容器的状态:
[[email protected] ~]# docker-compose ps
Name Command State Ports

root_app1_1 /bin/sh -c /usr/local/ngin ... Exit 137
root_app2_1 tail -f /etc/passwd Exit 137
[[email protected] ~]#
删除容器:
[[email protected] ~]# docker-compose rm -f
Going to remove root_app1_1, root_app2_1
Removing root_app1_1 ... done
Removing root_app2_1 ... done
[[email protected] ~]#
停止并删除运行中的容器:
[[email protected] ~]# docker-compose down
Stopping root_app1_1 ... done
Stopping root_app2_1 ... done
Removing root_app1_1 ... done
Removing root_app2_1 ... done
Removing network root_net2
Removing network root_net1
[[email protected] ~]# docker-compose ps
Name Command State Ports

[[email protected] ~]#

原文地址:http://blog.51cto.com/10158955/2152512

时间: 2024-08-29 21:55:30

docker-compose编排最佳实战(多服务)的相关文章

使用Docker compose编排Laravel应用

前言 Laravel官方开发环境推荐的是Homestead(其实就是一个封装好的Vagrant box),我感觉这个比较重,于是自己用Docker compose编排了一套开发环境,在这里分享下. 环境要求 先要安装好Docker 和 Docker compose,而且Docker 仓库镜像最好换成国内的.一般地,我开发电脑上会运行一个Vagrant,然后再在里面运行Docker等应用. 主要思路 Docker官方推荐的是一个容器运行一个服务,所以会有Compose编排,各个服务间通过容器互联技

Docker Compose 1.18.0 之服务编排详解

一个使用Docker容器的应用,通常由多个容器组成.使用Docker Compose,不再需要使用shell脚本来启动容器.在配置文件中,所有的容器通过services来定义,然后使用docker-compose脚本来启动,停止和重启应用,和应用中的服务以及所有依赖服务的容器Compose 通过一个配置文件来管理多个Docker容器,非常适合组合使用多个容器进行开发的场景. 服务编排工具使得Docker应用管理更为方便快捷. Docker Compose网站:https://docs.docke

Docker--------docker-compose编排最佳实战

1. 背景 Docker Compose是一个用来定义和运行复杂应用的Docker工具.使用Compose,你可以在一个文件中定义一个多容器应用,然后使用一条命令来启动你的应用,完成一切准备工作. Docker Compose使用yml文件格式定义描述. 2. 安装方式 * 离线安装 下载可执行文件至执行目录 [[email protected] ~]# curl -L https://github.com/docker/compose/releases/download/1.14.0-rc2/

010.Docker Compose构建WordPress实战

一 前期规划 类型 版本 备注 WordPress镜像 wordpress:latest MySQL数据库 5.7 Docker已安装,参考<002.Docker版本及安装>. Docker Compose已安装,参考<009.Docker Compose基础使用>. 二 正式构建 2.1 创建目录 1 [email protected]:~# mkdir my_wordpress 2 [email protected]:~# mkdir /db_data #创建用于存储MySQL

Docker学习 Part-07(Docker Compose 服务编排)

Docker Compose 一.安装Docker Compose # Compose目前已经完全支持Linux.Mac OS和Windows,在我们安装Compose之前,需要先安装Docker.下面我 们以编译好的二进制包方式安装在Linux系统中. curl -L https://github.com/docker/compose/releases/download/1.22.0/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/

Docker Compose

compose项目简介 compose项目来源于之前的Fig项目,使用python代码编写.compose项目主要用于编排部署基于docker的应用.本身与docker/swarm配合度很高. Docker Compose 是 Docker 编排服务的一部分,可以让用户在其它平台快速安装Docker,Swarm 可以让 Docker 容器在集群中高效运转,而 Compose 可以让用户在集群中部署分布式应用.简单的说,Docker Compose 属于一个"应用层"的服务,用户可以定义

Docker Compose 项目

http://hongge.blog.51cto.com/ compose项目简介 compose项目来源于之前的Fig项目,使用python代码编写.compose项目主要用于编排部署基于docker的应用.本身与docker/swarm配合度很高. Docker Compose 是 Docker 编排服务的一部分,可以让用户在其它平台快速安装Docker,Swarm 可以让 Docker 容器在集群中高效运转,而 Compose 可以让用户在集群中部署分布式应用.简单的说,Docker Co

Docker | 第七章:Docker Compose服务编排介绍及使用

前言 前面章节,我们学习了如何构建自己的镜像文件,如何保存自己的镜像文件.大多都是一个镜像启动.当一个系统需要多个子系统进行配合时,若每个子系统也就是镜像需要一个个手动启动和停止的话,那估计实施人员也会崩溃的,而且效率也很低,维护的量也就很大了.所以,本章节就来了解下,如何利用官方提供的Compose编排工具按一定的业务规则来合理的进行容器启停工作. Compose介绍 Compose安装 二进制文件直接安装 使用pip(Python包管理工具)安装 命令补齐 Compose常用命令 build

Docker Compose服务编排

一.Docker Compose: 服务编排技术:https://github.com/docker/compose/releases 二.安装:(Linux 64位系统) 1)请求安装包: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)改变权限:chmod +x /u