Docker-compose命令、常用选项格式以及报错Unsupported config option for services service: ‘db‘的处理

一、docker-compose命令及其常用选项格式

docker-compose [-f <arg>...] [options] [COMMAND] [ARGS...]
选项如下:
-f,–file FILE    指定Compose模板文件,默认为docker-compose.yml,可以多次指定。
-p,–project-name  NAME指定项目名称,默认将使用所在目录名称作为项目名。
-x-network-driver    使用Docker的可拔插网络后端特性(需要Docker 1.9+版本)
-x-network-driver  DRIVER指定网络后端的驱动,默认为bridge(需要Docker 1.9+版本)
-verbose    出更多调试信息

-v,–version    打印版本并退出

docker-compose常用的COMMAND有 up,down,start,stop,rm,ps,logs,create,config,build

1、docker-compose up

#构建和启动所有容器
docker-compose up [options] [--scale SERVICE=NUM...] [SERVICE...]
选项包括:
-d                             在后台运行服务容器
–no-color                  不使用颜色来区分不同的服务的控制输出
–no-deps                  不启动服务所链接的容器
–force-recreate         强制重新创建容器,不能与–no-recreate同时使用
–no-recreate             如果容器已经存在,则不重新创建,不能与–force-recreate同时使用
–no-build                  不自动构建缺失的服务镜像
–build                       在启动容器前构建服务镜像
–abort-on-container-exit      停止所有容器,如果任何一个容器被停止,不能与-d同时使用
-t, –timeout TIMEOUT          停止容器时候的超时(默认为10秒)
–remove-orphans                 删除服务中没有在compose文件中定义的容器
–scale SERVICE=NUM          设置服务运行容器的个数,将覆盖在compose中通过scale指定的参数

#启动所有服务
docker-compose up
#在后台所有启动服务
docker-compose up -d
#-f 指定使用的Compose模板文件,默认为当前目录下的docker-compose.yml。
docker-compose -f docker-compose.yml up -d

2、docker-compose down

#停止和删除容器、网络、卷、镜像。
docker-compose down [options]
选项包括:
–rmi type           删除镜像,类型必须是:all,删除compose文件中定义的所有镜像;local,删除镜像名为空的镜像
-v, –volumes        删除已经在compose文件中定义的和匿名的附在容器上的数据卷
–remove-orphans     删除服务中没有在compose中定义的容器

3、docker-compose start

#重启项目中的服务
docker-compose restart [options] [SERVICE...]
选项包括:
-t, –timeout TIMEOUT    指定重启前停止容器的超时(默认为10秒)

4、docker-compose stop

#停止正在运行的容器,可以通过docker-compose start 再次启动
docker-compose stop [options] [SERVICE...]
选项包括:
-t, –timeout            TIMEOUT 停止容器时候的超时(默认为10秒)

5、docker-compose rm

#删除所有(停止状态的)服务容器,推荐先执行docker-compose stop命令来停止容器
docker-compose rm [options] [SERVICE...]
选项包括:
–f, –force,强制直接删除,包括非停止状态的容器
-v,删除容器所挂载的数据卷

6、docker-compose ps

#列出项目中目前的所有容器
docker-compose ps [options] [SERVICE...]

7、docker-compose logs

#查看服务容器的输出。默认情况下,docker-compose将对不同的服务输出使用不同的颜色来区分。可以通过–no-color来关闭颜色
docker-compose logs [options] [SERVICE...]

8、docker-compose build

#构建(重新构建)项目中的服务容器
docker-compose build [options] [--build-arg key=val...] [SERVICE...]
选项包括:
–compress             通过gzip压缩构建上下环境
–force-rm             删除构建过程中的临时容器
–no-cache             构建镜像过程中不使用缓存
–pull                 始终尝试通过拉取操作来获取更新版本的镜像
-m, –memory MEM       为构建的容器设置内存大小
–build-arg key=val  为服务设置build-time变量

9、dokcer-compose config

#验证并查看compose文件配置
docker-compose config [options]
选项包括:
–resolve-image-digests       将镜像标签标记为摘要
-q, –quiet                   只验证配置,不输出。 当配置正确时,不输出任何内容,当文件配置错误,输出错误信息
–services                    打印服务名,一行一个
–volumes                     打印数据卷名,一行一个

10、docker-compose create

#为服务创建容器
docker-compose create [options] [SERVICE...]
选项包括:
–force-recreate:              重新创建容器,即使配置和镜像没有改变,不兼容–no-recreate参数
–no-recreate:                  如果容器已经存在,不需要重新创建,不兼容–force-recreate参数
–no-build:                       不创建镜像,即使缺失
–build:                            创建容器前,生成镜像

最后docker删除所有镜像,可以一个简单的命令快速搞定:
docker rmi $(docker images -q)

二、docker-compose报错Unsupported config option for services service: 'db'

    在使用docker-compose进行up -d安装的时候,提示报错:Unsupported config option for services service: 'db',在docker-compose.yml配置文件中有一db项,使用mysql5.7镜像包进行服务安装,但并没有什么问题,然而在执行的时候却报上面的错误。我的docker-compose是刚刚进行安装的,之前的docker-compose版本较旧。

#安装更新版本docker-compose 1.3.0
root@unps:/opt/docker-compose/# curl -L https://github.com/docker/compose/releases/download/1.3.0/docker-compose-`uname -s`-`uname -m` > ./docker-compose
root@unps:/opt/docker-compose/# chmod +x /usr/local/bin/docker-compose
#版本查看
root@unps:/opt/docker-compose/# docker-compose --version
docker-compose version: 1.3.0
CPython version: 2.7.9
OpenSSL version: OpenSSL 1.0.1e 11 Feb 2013
#运行安装
root@unps:/opt/docker-compose/# docker-compose up -d
Unsupported config option for services service: 'db'

    通过上面的输出,要注意一个地方CPython version:的值,从这里看python用的还是2.7的版本,推测这是问题所在。最终也是更新了docker-compose中的python版本才解决的问题。可以从这篇文章中的百度云盘里提取docker-compose文件。见地址:https://zhuanlan.zhihu.com/p/250341990 

        不过也是有些奇怪,我一开始就是通过pip3 --default-timeout=1000 install docker-compose来安装的docker-compose,它应该使用的是 python3 才是。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

林戈的IT生涯

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值