title: docker-compose的使用姿势
date: 2019-08-12 10:37:26
categories:
- 工具
tags: - docker
docker-compose介绍
docker-compose
较为官方的定义[定义和运行多个 Docker 容器的应用(Defining and running multi-container Docker applications
)],在我看来,就是通过一个docker-compose
来加载一个配置文件,用过这个配置文件中的配置的镜像信息,快速方便的启动docker
容器,更简单的说,就是不用打一长串的启动命令了,直接docker-compose up -d
就ok
dockers,关闭容器后,直接执行这个配置文件就启动了。
安装
其代码已在github
上 https://github.com/docker/compose,可以去选择一个latest
版本,两行命令就ok,。
# 下载到/usr/local/bin目录下
curl -L https://github.com/docker/compose/releases/download/1.24.1/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
# 赋予可执行权限
chmod +x /usr/local/bin/docker-compose
模板文件
redis
直接命令启动,可能是这样的:
docker run -d --name redis-server -p 6379:6379 -v /usr/redis/redis.conf:/etc/redis/redis.conf -v /usr/redis/data/:/data redis:latest /etc/redis/redis.conf --appendonly yes --requirepass "redis123"
使用docker-compose
:
新建一个docker-compose.yml
文件:
# 可不填
version: '3'
# 在services下写容器启动信息
services:
# 随便写,起个名字
redis:
# 开机启动
restart: always
# 镜像名
image: redis
# 容器名
container_name: my_redis
# 覆盖容器启动后默认执行的命令,这里我们想以redis的配置文件启动。
command: redis-server /usr/local/etc/redis/redis.conf
# 端口映射,将此容器的端口映射到宿主机的端口上
ports:
- 6379:6379
# 挂载目录,将容器的
volumes:
- ./data:/data
- ./redis.conf:/usr/local/etc/redis/redis.conf
共享目录或文件时,如果宿主机或容器内不存在 docker
会自动帮你创建。
启动命令
在docker-compose.yml
文件的当前目录下执行
# 后台启动
docker-compose up -d
# 关闭
docker-compose down