建 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 开始构建容器 (下面两种启动都可以)
    [root@mysql1 opt]# docker-compose -f docker-compose.yml 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
    [root@mysql1 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

查看容器状态
[root@mysql1 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

[root@mysql1 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

查看容器状态
[root@mysql1 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
停止已有的容器:
[root@server ~]# docker-compose stop
Stopping root_app1_1 ... done
Stopping root_app2_1 ... done
[root@server ~]#
启动已有的容器:
[root@server ~]# docker-compose start
Starting app2 ... done
Starting app1 ... done
[root@server ~]#
查看容器的状态:
[root@server ~]# 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
[root@server ~]#
删除容器:
[root@server ~]# docker-compose rm -f
Going to remove root_app1_1, root_app2_1
Removing root_app1_1 ... done
Removing root_app2_1 ... done
[root@server ~]#
停止并删除运行中的容器:
[root@server ~]# 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
[root@server ~]# docker-compose ps
Name Command State Ports

部署MySQL5.7
vi docker-compose.yml
version: '3'
services:
mysql-server:
hostname: mysql-server
container_name: mysql-server
image: mysql:5.7
ports:

  • 3306:3306
    networks:
  • "net3"
    volumes:
  • /data/mysql5721/data:/var/lib/mysql
    command: --character-set-server=utf8
    environment:
    MYSQL_ROOT_PASSWORD: 123456
    MYSQL_DATABASE: zabbix
    MYSQL_USER: zabbix
    MYSQL_PASSWORD: zabbix
    networks:
    net3:
    driver: bridge

进入MySQL查看

OK

转载于:https://blog.51cto.com/10158955/2152512

docker-compose编排最佳实战(多服务)相关推荐

  1. 【Spring Cloud 基础设施搭建系列】Spring Cloud Demo项目 使用Docker Compose编排Spring Cloud微服务

    文章目录 Docker Compose快速人门 入门示例 使用Docker Comose编排Spring Cloud微服务 使用Maven插件读取Dockerfile进行构建 使用Maven插件构建D ...

  2. 【ODOO】Docker Compose 编排ODOO应用

    Dockerfile Dockerfile 是一个用于构建自定义镜像的文本文件,文本内容包含了用于指导 Docker 创建自定义镜像的一系列指令,是用于创建镜像的蓝图. 这通常在将我们自己的程序打成D ...

  3. Docker Compose运行MySQL、Redis服务

    Docker Compose运行MySQL.Redis服务 前言:通过容器来统一管理开发中使用到的依赖,顺便学习docker-compose 1.docker-compose.yml 文件说明 2.d ...

  4. Docker Compose 1.18.0 之服务编排详解

    一个使用Docker容器的应用,通常由多个容器组成.使用Docker Compose,不再需要使用shell脚本来启动容器.在配置文件中,所有的容器通过services来定义,然后使用docker-c ...

  5. docker compose dns 缓存_Docker深入浅出 | Docker Compose多容器实战

    Docker已经上市很多年,不是什么新鲜事物了,很多企业或者开发同学以前也不多不少有所接触,但是有实操经验的人不多,本系列教程主要偏重实战,尽量讲干货,会根据本人理解去做阐述,具体官方概念可以查阅官方 ...

  6. Docker Compose编排(写法格式及实验)

    目录 一.Docker Compose前言 二.Docker compose 的文件结构 1.docker compose配置常用字段 2.docker compose常用命令 三.使用compose ...

  7. 安装Docker.v19和配置Docker Compose编排工具

    博文目录 一.Compose简介 二.安装Docker 1.安装19.03.9版本Docker 2.配置镜像加速 三.安装使用Docker Compose 1.Github下载Docker Compo ...

  8. Docker Compose编排

    目录 一.简介 二.安装部署compose 2.1 Docker compose 环境的安装 2.2 YAML 文件格式及编写注意事项 2.3 Docker Compose配置常用字段 2.4 Doc ...

  9. dockers-系统学习-docker compose服务编排

    dockers-系统学习-docker compose服务编排 一.服务编排 1.1.概念 按照一定的业务规则批量管理容器 1.2.问题 微服务架构的应用系统中一般包含若干个微服务,每个微服务一般都会 ...

最新文章

  1. 拿到淘宝offer后的胡思乱想plus面试总结
  2. 报错解决:RequestsDependencyWarning: urllib3 (1.24.3) or chardet (3.0.4) doesn't match a supported versio
  3. ​如何保护Java程序
  4. 以后版本网卡命名规则
  5. 读写App.config配置文件的方法
  6. 【Android】事件传递:向下拦截,向上处理
  7. 在集成测试中模拟耗时的动作
  8. 地理科学师范计算机,地理科学师范考研方向指导参考
  9. 演示Go语言多返回值功能
  10. gps导航计算机毕业设计开题报告,GPS导航计算机毕业设计开题报告.doc
  11. centos php mongodb 驱动,安装 MongoDB PHP 驱动 在CentOS 6.x和遇到的问题
  12. 微分方程和差分方程的区别与联系
  13. python动力学_用python学振动分析(一)
  14. python调节电脑音量_python如何调节音量大小
  15. 数字化转型需要双模IT
  16. 时空图卷积网络:一种用于交通预测的深度学习框架
  17. 解决create-react-app 集成ts 报error :because it would overwrite input file. TS5055 问题
  18. android手机获取系统短信sqlite数据库并查看内容
  19. vue+iview 兼容IE11浏览器
  20. 使用docker engine 运行时 集群部署 kubernetes v1.23

热门文章

  1. 尽快卸载这两款恶意浏览器插件!已有近 50 万用户安装
  2. 可能是最好的跨域解决方案了
  3. 推荐一个工作流自动化工具
  4. 如何把近十页的论文读成半页?
  5. 超 31% 生成文本涉暴力色情,GPT-3 模型在 AI Dungeon 游戏里疯狂「飙车」!
  6. 用AI还原李焕英老照片动态影像
  7. 他智商167,超过爱因斯坦,花17年炸遍美国高校,却因一疏漏被捕
  8. 使用谷歌 Colab Notebooks,这 6 个小技巧你需要掌握
  9. CVPR 2020 | 利用强化学习进行交互式3D医学图像分割
  10. 一个阿里P7的自白:一念之差,我差点转了产品