docker-compose学习总结

一、简单介绍

Compose是Docker官方的容器编排工具,可以让用户通过编写简单yml模板文件,快速创建和管理基于Docker容器的应用集群

Github开源地址:https://github.com/docker/compose

1.1、使用Compose的三个基本步骤

  1. Dockerfile定义应用应用的运行环境,让它能够在任何地方在次运行
  2. docker-compose.yml定义应用的service的结构,使其能够在隔离的环境里面能够一起运行
  3. 最后运行运行docker-compose up -d启动应用的容器

1.2、一个docker-compose.yml示例

version: '2'

services:
  web:
    build: .
    ports:
     - "5000:5000"
    volumes:
     - .:/code
  redis:
    image: redis
命令功能
versioncompose文件版本,最新v3
build指定Dockerfile所在文件夹的路径
volumes数据卷挂载路径设置
ports暴露端口信息,“宿主机端口:容器端口”
restart指定重启策略,“no、always、on-failure、unless-stop”

二、安装部署

1、首先确保docker安装完成

$ docker -v
Docker version 19.03.12, build 48a66213fe

2、安装docker-compose

  • 二进制安装(推荐使用此方法进行安装)
$ curl -L https://get.daocloud.io/docker/compose/releases/download/1.26.2/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose

$ sudo chmod +x /usr/local/bin/docker-compose

$ docker-compose --version
docker-compose version 1.26.2, build 1110ad01
  • pip安装
$ pip install docker-compose

$ docker-compose -v
docker-compose version 1.26.2, build unknown

提示:如有报错,多执行几次,或者升级pip在执行

2.1、卸载compose

如果是二进制安装,删除二进制文件即可

$ sudo rm /usr/local/bin/docker-compose

如果是通过Python pip工具安装,执行如下命令删除

$ sudo pip uninstall docker-compose

三、应用示例

3.1、docker-compose部署spark

docker-compose.yml

version: '2'

services:
  master:
    image: sequenceiq/spark:1.4.0
    hostname: master
    ports:
      - "4040:4040"
      - "8042:8042"
      - "7077:7077"
      - "8088:8088"
      - "8080:8080"
    restart: always
    command: bash /usr/local/spark/sbin/start-master.sh && ping localhost > /dev/null

  worker:
    image: sequenceiq/spark:1.4.0
    depends_on:
      - master
    expose:
      - "8081"
    restart: always
    command: bash /usr/local/spark/sbin/start-slave.sh spark://master:7077 && ping localhost >/dev/null
$ docker-compose up -d
Creating network "spark_default" with the default driver
Creating spark_master_1 ... done
Creating spark_worker_1 ... done

访问http://ip:8080

在这里插入图片描述

3.2、docker-compose部署wordpress

docker-compose.yml

version: "3"
services:
   mysql:
     image: mysql:5.6
     ports:
       - "3306:3306"
     environment:
       - "MYSQL_ROOT_PASSWORD=mysql"
       - "MYSQL_PASSWORD=mysql"
       - "MYSQL_DATABASE=wordpress"
   wordpress:
     image: wordpress
     ports:
       - "8080:80"
     environment:
       - "WORDPRESS_DB_NAME=wordpress"
       - "WORDPRESS_DB_PASSWORD=mysql"
       - "WORDPRESS_DB_HOST=mysql"

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值