Theme NexT works best with JavaScript enabled

Hexo-ytliangc

愿有岁月可回首,且以深情共白头

0%

docker-compose学习总结

简单介绍

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

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

使用Compose的三个基本步骤

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

一个docker-compose.yml示例

1
2
3
4
5
6
7
8
9
10
11
version: '2'

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

安装部署

1、首先确保docker安装完成

1
2
$ docker -v
Docker version 19.03.12, build 48a66213fe

2、安装docker-compose

  • 二进制安装(推荐使用此方法进行安装)
1
2
3
4
5
6
$ 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安装
1
2
3
4
$ pip install docker-compose

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

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

卸载compose

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

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

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

1
$ sudo pip uninstall docker-compose

应用示例

docker-compose部署spark

docker-compose.yml

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
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
1
2
3
4
$ 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

Snipaste_2020-07-13_15-10-08.png

-------------本文结束感谢您的阅读-------------
坚持原创技术分享,您的支持将鼓励我继续创作!
ytlaingc 微信支付

微信支付

ytlaingc 支付宝

支付宝