12. Docker-Compose常用命令
命令对象与格式
对于Compose
来说,大部分命令的对象既可以是项目本身,还可以指定为项目中的某个容器(服务),如果没有指定容器,命令对象将是项目
执行docker-compose [command] --help
或者 docker-compose help [command]
可以查看具体某个使用的命令
docker-compose
命令的基本格式是
docker-compose -f docker-compose.yml 命令 【选项】【服务id】
UP
格式为docker-compose up [options] [service]
该命令十分强大,他将尝试自动完成包括构建镜像,创建服务,启动服务,并关联服务相关容器的一系列操作
链接的服务都将被自动启动
可以说,大部分都可以直击人通过该命令来启动一个项目
默认情况,
docker-compose up
启动的容器都在前台,控制台将会打印所有容器的输出信息,方便调试用过Ctrl-c停止时,所有容器将会停止
如果使用
docker-compose up -d
,将会在后台启动并运行所有容器,一般推荐生产环境使用如果服务已经存在,
docker-compose up
将会尝试停止容器,然后重新创建,以保证新启动的服务匹配docker-compose.yml
文件的最新内容docker-compose up 对整个项目操作启动 docker-compose up -d 后台启动 docker-compose up 服务id 对当前docker-compose中对于的服务id操作
Down
docker-compose down
将关闭所有容器,停止up的所有容器,并移除网络
docker-compose down 关闭所有容器
docker-compose down 服务id 关闭某一个服务
Exec
进入某个服务的内部
docker-compose exec 服务id bash
ps
docker-compose ps 列出当前项目所有运行的服务
restart
重启项目
docker-compose restart
重启项目20秒之后就自动启动服务
docker-compose restart -t 20
stop
停止某个服务
docker-compose stop 【服务id】
rm
删除停止状态的整个项目或者某个服务
docker-compose rm 【服务id】
强制删除
docker-compose rm -f 【服务id】
顺便删除里面的数据卷(不推荐)
docker-compose rm -v(删除容器挂载的数据卷) 【服务id】
top
查看整个项目所有服务的进程或者某个指定服务的进程
docker-compose top 【服务id】
unpause
恢复处于暂停状态中的服务
docker-compose unpause 【服务id】
pause
暂停所有服务或者某一个服务
docker-compose pause 【服务id】
logs
查看容器的日志
docker-compose logs 【服务id】
查看实时日志
docker-compose logs -f【服务id】