docker-compose 是什么
熟悉docker的人都知道Dockerfile用来构件单个镜像服务的,想要运行服务,要输入复杂的 run 命令来启动并配置服务。
对于服务间依赖以及服务的环境变量、网络参数、文件挂载等操作,当然可以使用yaml文件来配置,这就是docker-compose
docker-compose 就是Docker编排工具,可以优雅的配置服务间的依赖关系,服务的属性控制,减少运维成本。
docker-compose 安装 zookeeper 单节点
目录结构
zookeeper
├─ config
│ └─ zoo.cfg
├─ data
├─ docker-compose.yml
└─ logs
- config 配置文件存放路径
- data 数据文件路径
- logs zookeeper服务日志路径
- config/zoo.cfg zookeeper服务配置文件
- ./docker-compose.yml docker-compose配置文件
安装单节点,我们使用的是zookeeper官方镜像
zookeeper 单节点 docker-compose.yml 文件
version: '3'
services:
zookeeper:
image: zookeeper
restart: always
container_name: zookeeper
volumes:
- ./config:/conf
- ./data:/data
- ./logs:/datalog
ports:
- "5018:2181"
- image 服务使用的镜像
- restart: always/no 保持无服务开机启动或者其他情况下正常启动/不自动启动
- volumes 挂载外部路径到容器内部
- ports 暴露服务内部端口
- ./docker-compose.yml docker-compose配置文件
服务配置文件zoo.cfg
dataDir=/data
dataLogDir=/datalog
tickTime=2000
initLimit=5
syncLimit=2
autopurge.snapRetainCount=3
autopurge.purgeInterval=0
maxClientCnxns=60
standaloneEnabled=true
admin.enableServer=true
server.1=localhost:2888:3888;2181
4lw.commands.whitelist=*
启动服务
执行命令启动服务 docker-compose up -d
等待success提示则=启动成功
服务启动成功,就可以使用5018端口访问docker服务了
docker-compose 常用命令
属性 | 描述 |
---|---|
docker-compose build | (构建yml中某个服务的镜像) |
docker-compose ps | (查看已经启动的服务状态) |
docker-compose kill | (停止某个服务) |
docker-compose logs | (可以查看某个服务的log) |
docker-compose port | (打印绑定的public port) |
docker-compose pull | (pull服务镜像) |
docker-compose up | (启动yml定义的所有服务) |
docker-compose stop | (停止yml中定义的所有服务) |
docker-compose start | (启动被停止的yml中的所有服务) |
docker-compose kill | (强行停止yml中定义的所有服务) |
docker-compose rm | (删除yml中定义的所有服务) |
docker-compose restart | (重启yml中定义的所有服务) |
docker-compose scale | (扩展某个服务的个数,可以向上或向下) |
docker-compose version | (查看compose的版本) |
更多好玩好看的内容,欢迎到我的博客交流,共同进步 WaterMin