docker-compose的命令包括:
build :构建服务
kill -s SIGINT :给服务发送特定的信号。
logs :输出日志
port :输出绑定的端口
ps :输出运行的容器
pull :pull服务的image
rm :删除停止的容器
run : 运行某个服务,例如docker-compose run web python manage.py shell
start :运行某个服务中存在的容器。
stop :停止某个服务中存在的容器。
up :create + run + attach容器到服务。
scale :设置服务运行的容器数量。例如:docker-compose scale web=2 worker=3
启动命令:
$docker-compose up。
我们可以指定-d命令以daemon的方式启动容器。
除此之外,docker-compose还支持下面参数:
--verbose:输出详细信息
-f:制定一个非docker-compose.yml命名的yaml文件
-p 设置一个项目名称(默认是directory名)
eg:
docker-compose -f docker-compose-peer.yaml up –d #后台根据配置文件创建启动容器
docker-compose配置文件的命令
1. image
services:
#web是服务名称
web:
#hello-world是镜像名称或镜像 ID
image: hello-world
在 services 标签下的第二级标签是 web,这个名字是用户自己自定义,它就是服务名称。
image 则是指定服务的镜像名称或镜像 ID。如果镜像在本地不存在,Compose 将会尝试拉取这个镜像。
2.
build
build: /path/to/build/dir 该参数指定Dockerfile文件的路径。
服务除了可以基于指定的镜像,还可以基于一份 Dockerfile,
在使用 up 启动之时执行构建任务,这个构建标 签就是 build,
它可以指定 Dockerfile 所在文件夹的路径。
Compose 将会利用它自动构建这个镜像,然后使用这个镜像启动服务容器。
如果你同时指定了 image 和 build 两个标签,
那么 Compose 会构建镜像并且把镜像命名为 image 后面的那个名字。
3. command
command: bundle exec thin -p
3000
也可以写成类似 Dockerfile 中的格式:
command: [bundle, exec, thin, -p,
3000]
重写默认的命令,使用 command 可以覆盖容器启动后默认执行的命令。
4.container_name
#app是容器名称
container_name: app
Compose 的容器名称格式是:<项目名称><服务名称><序号>
虽然可以自定义项目名称、服务名称,但是如果你想完全控制容器的命名,
可以使用这个标签指定。
eg:
#启动一个伪终端以交互式的方式进入容器container_name
docker exec -it container_name bash
5.depends_on
services:
web:
build: .
depends_on:
#db和redis是服务名称
- db
- redis
redis:
image: redis
db:
image: postgres
用于指定服务依赖,启动 web 服务时,也会启动 redis 和 db 两个服务。
6.dns
和 --dns 参数一样用途,