docker-compose是docker官方推出的一款很好用的容器管理工具。github地址是docker-compose。
这个玩意的用处是啥呢,我们知道docker想要创建容器,先要拉一个镜像下来,然后根据这个镜像穿件容器,那么如果我有一个任务,需要间一个mysql环境、一个elasticsearch环境、一个kibana环境,那么我就需要拉去三个镜像,启动三个容器,这无疑是很麻烦的。
docker-compose就是这样一个容器管理工具,其允许我们以yml
格式的配置文件指定我们需要的所有实例,然后在一个容器内将这些实例都给启动。
1. 下载docker-compose
直接去github下载就好了,下载的东西直接就是可执行文件:
2. 简单上手使用
我这里需要开mysql,es,kibana,首先写一个docker-compose.yml
文件:
# yml配置文件的版本
# yml配置文件的版本
version: '3.7'
services:
mysql:
image: debezium/example-mysql:1.1
ports:
- "3306:3306"
environment:
- MYSQL_ROOT_PASSWORD=123456
- MYSQL_USER=mysqluser
- MYSQL_PASSWORD=mysqlpw
elasticsearch:
image: elastic/elasticsearch:7.6.0
environment:
- cluster.name=docker-cluster
- bootstrap.memory_lock=true
- "ES_JAVA_OPTS=-Xms512m -Xmx512m"
- discovery.type=single-node
ports:
- "9200:9200"
- "9300:9300"
ulimits:
memlock:
soft: -1
hard: -1
nofile:
soft: 65536
hard: 65536
kibana:
image: elastic/kibana:7.6.0
ports:
- "5601:5601"
docker-compose使用yml启动容器:
在docker-compose.yml
所在的目录执行:
# 根据yml文件创建容器
$ sudo docker-compose up
查看容器状态:
$ sudo docker-compose ps
之后可以使用命令对这个环境下的容器进行启动或者停止:
# 停止容器
$ sudo docker-compose stop
# 启动容器
$ sudo docker-compose start
删除容器:
# 根据yml文件删除容器
$ sudo docker-compose down
进入容器的mysql进行编辑:
$ sudo docker-compose exec mysql mysql -uroot -p123456