Muh*_*min 28 docker docker-compose
我volumes_from在docker compose中经历了选项.显然,您可以从容器或服务导入卷.从docker撰写的文档中,它是:
volumes_from
从另一个服务或容器挂载所有卷,可选择指定只读访问(ro)或读写(rw).
Run Code Online (Sandbox Code Playgroud)volumes_from: - service_name - service_name:ro - container:container_name - container:container_name:rw注意:仅在版本2文件格式中支持container:...格式.在版本1中,您可以使用容器名称而不将其标记为:
Run Code Online (Sandbox Code Playgroud)- service_name - service_name:ro - container_name - container_name:rw
我很困惑,这里的容器和服务有什么区别?
Hem*_*ela 53
服务和容器是相关的,但两者都是不同的东西.
服务可以由一个或多个容器运行.随着docker你可以处理容器,docker-compose你可以处理服务.
例如:
假设我们有这个docker-compose.yml文件:
web:
image: example/my_web_app:latest
expose:
- 80
links:
- db
db:
image: postgres:latest
Run Code Online (Sandbox Code Playgroud)
这个撰写文件定义了两个服务,web和db.
当你运行时docker-compose up,假设项目目录test1然后compose将启动2个名为myapp_db_1和的容器myapp_web_1.
$ docker ps -a
CONTAINER ID IMAGE COMMAND ... NAMES
1c1683e871dc test1_web "nginx -g" ... test1_web_1
a41360558f96 test1_db "postgres -d" ... test1_db_1
Run Code Online (Sandbox Code Playgroud)
因此,在这一点上,您有2个服务,每个服务器有1个容器.
但您可以扩展名为web使用5个容器的服务.
$ docker-compose scale web=5
Creating and starting 2 ... done
Creating and starting 3 ... done
Creating and starting 4 ... done
Creating and starting 5 ... done
Run Code Online (Sandbox Code Playgroud)
在这一点上,您有2个服务和6个容器
$ docker ps -a
CONTAINER ID IMAGE COMMAND ... NAMES
1bf4c939263f test1_web "nginx -g" ... test1_web_3
d3033964a44b test1_web "nginx -g" ... test1_web_4
649bbda4d0b0 test1_web "nginx -g" ... test1_web_5
a265ea406727 test1_web "nginx -g" ... test1_web_2
1c1683e871dc test1_web "nginx -g" ... test1_web_1
a41360558f96 test1_db "postgres -d' ... test1_db_1
Run Code Online (Sandbox Code Playgroud)
此外,使用docker-compose,您可以针对一个或多个服务运行子命令.
$docker-compose stop web
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8648 次 |
| 最近记录: |