博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Docker 使用Docker-Compose编排容器
阅读量:7222 次
发布时间:2019-06-29

本文共 2776 字,大约阅读时间需要 9 分钟。

简介:

Docker Compose是一个用来定义和运行复杂应用的Docker工具。一个使用Docker容器的应用,通常由多个容器组成。使用Docker Compose不再需要使用shell脚本来启动容器。 

Compose 通过一个配置文件来管理多个Docker容器,在配置文件中,所有的容器通过services来定义,然后使用docker-compose脚本来启动,停止和重启应用,和应用中的服务以及所有依赖服务的容器,非常适合组合使用多个容器进行开发的场景。

Docker与Compose的兼容性:

compose文件格式版本    docker版本3.7                  18.06.0+3.6                  18.02.0+3.5                  17.12.0+3.4                  17.09.0+3.3                  17.06.0+3.2                  17.04.0+3.1                  1.13.1+3.0                  1.13.0+2.3                  17.06.0+2.2                  1.13.0+2.1                  1.12.0+2.0                  1.10.0+1.0                  1.9.1.+

安装:

sudo curl -L https://github.com/docker/compose/releases/download/1.22.0/docker-compose-$(uname -s)-$(uname -m) -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose

查看:

[root@localhost bin]# docker-compose --versiondocker-compose version 1.22.0, build f46880fe

compose命令选项:

-f, --file FILE 指定使用的 Compose 模板文件,默认为 docker-compose.yml ,可以多次指定。 -p, --project-name NAME 指定项目名称,默认将使用所在目录名称作为项目名。 --x-networking 使用 Docker 的可拔插网络后端特性 --x-network-driver DRIVER 指定网络后端的驱动,默认为 bridge --verbose 输出更多调试信息。 -v, --version 打印版本并退出。

compose命令:

build 构建或重建服务help 命令帮助kill 杀掉容器logs 显示容器的输出内容port 打印绑定的开放端口ps 显示容器pull 拉取服务镜像restart 重启服务rm 删除停止的容器run 运行一个一次性命令scale 设置服务的容器数目start 开启服务stop 停止服务up 创建并启动容器

Code:

wordpress.yml

version: '3'services:  web:    image: wordpress:4    environment:      - WORDPRESS_DB_PASSWORD=password      - WORDPRESS_AUTH_KEY=changeme      - WORDPRESS_SECURE_AUTH_KEY=changeme      - WORDPRESS_LOGGED_IN_KEY=changeme      - WORDPRESS_NONCE_KEY=changeme      - WORDPRESS_AUTH_SALT=changeme      - WORDPRESS_SECURE_AUTH_SALT=changeme      - WORDPRESS_LOGGED_IN_SALT=changeme      - WORDPRESS_NONCE_SALT=changeme      - WORDPRESS_NONCE_AA=changeme    ports:      - 80:80    depends_on:      - mysql    deploy:      replicas: 3      restart_policy:        condition: on-failure  mysql:    image: mysql:5.7    environment:      - MYSQL_ROOT_PASSWORD=password    deploy:      restart_policy:        condition: on-failure

wordpress.yml 定义了包含两个服务的Wordpress应用

web服务:部署3个实例的wordpress:4容器

mysql服务:部署1个实例的mysql:5.7容器

注意:

restart_policy:定义服务的重启条件 (v1/v2中restart指令不再支持)

deploy与depends_on不要搞混,一个配置,一个依赖。

命令:

使用docker-compose构建并运行应用:

# 若是要后台运行: $ docker-compose up -d$ docker-compose up# 若不使用默认的docker-compose.yml 文件名:$ docker-compose -f server.yml up -d

停止删除容器:

#必须跟docker-compose.yml的文件路径中执行命令docker-compose stop
#必须跟docker-compose.yml文件路径中执行命令docker-compose rm

设置服务容器数量:

docker-compose scale mysql=2

 

总结:

不要把 docker 当做数据容器来使用,数据一定要用 volumes 放在容器外面不要把 docker-compose 文件暴露给别人, 因为上面有你的服务器信息多用 docker-compose 的命令去操作, 不要用 docker 手动命令&docker-compose 去同时操作写一个脚本类的东西,自动备份docker 映射出来的数据。不要把所有服务都放在一个 docker 容器里面

参考:

转载地址:http://ekhym.baihongyu.com/

你可能感兴趣的文章
Linux DNS服务实验报告
查看>>
浅析python 中__name__ = '__main__' 的作用
查看>>
使用scp在windows和Linux之间互传文件
查看>>
Struts ActionContext和ServletActionContext小结
查看>>
零售电商架构解决方案
查看>>
CentOS 5.5编译升级2.6.35.13内核完整笔记
查看>>
安全:一个很逗逼的想法
查看>>
导入开源云存储ownCloud
查看>>
NO.137 2014年GNOME.Asia峰会开始报名啦!
查看>>
Python爬虫实战(4):豆瓣小组话题数据采集—动态网页
查看>>
Linux Shell之九 trap--陷阱触发
查看>>
Lync Server 2010企业版系列PART5:生成拓扑
查看>>
Provisioning Services 7.6 入门到精通系列之四:PVS配置向导-创建新场
查看>>
我的友情链接
查看>>
PC服务器和小型机的区别
查看>>
设计模式-简单工厂模式(Simple Factory)
查看>>
循环链表的插入和删除
查看>>
hdu2054
查看>>
cisco ***使用windows 2008 域账户认证(cisco ez*** +window 2008 NPS)
查看>>
网络配置基础知识
查看>>