Docker Compose
背景说明
当前随着互联网业务越来越复杂,越来越多的业务被拆分,所以现在微服务的理念越来越受欢迎,当前支撑微服务部署的就是k8s和docker,现在很多组建都开始docker,如mysql,redis等等,那如何管理这么多的docker镜像?怎么方便得启动这些服务?这就是docker-compse工具诞生的背景
安装
通过pip工具安装
$pip install docker-compose或者
$pip3 install docker-compose安装完成后查看版本确认是否安装成功
$docker-compose -v一个例子
下面看一个实际的例子,这个是通过docker-compose来管理mysql和redis这两个docker服务
下载mysql和redis镜像
$docker pull mysql
$docker pull redis创建需要映射的目录
编写docker-compose.yml
写入如下内容, 注意volumes映射部分需要改成自己本机目录
docker-compose.yml文档说明
version表示的是docker-compose的语法版本,不同的版本会有一些差异,具体看这里services表示docker-compose需要管理的服务,在上面的例子中,有两个服务:mysql和redis
下面对服务中使用到的关键词做个说明
image表示需要启动的镜像名称,格式是REPOSITORY:TAGports表示启动镜像后,需要映射的端口号,格式是host_port:container_port, 等同与docker启动命令中的-p, 如果有多个端口映射,那用多行表示environment表示启动镜像后,需要传给容器的环境变量,等同于docker启动命令中的-evolumes表示启动镜像后,需要映射的路径地址,格式是host_path:container_path, 等同于docker启动命令中的-v
常用命令
启动
docker-compose up, 如果需要后台运行则加入-d参数, docker-compose up -d
查看
docker-compose ps, 查看命令和docker命令一样
关闭
docker-compose stop, 也和docker停止命令一样
HELP
通过docker-compose -h,这个万能命令查询所有能用的命令
Last updated
Was this helpful?