我应该使用docker-compose up还是运行它?
有没有使用run
启动docker-compose.yml
文件的理由,还是应该使用up
?
我了解这run
可以启动特定的容器,但是我指的是在不指定容器的情况下使用它的情况,这样它就可以启动所有yml容器。
回答:
如docker-compose
run(2015)中所述
。
例如,如果Web服务配置以开头
bash
,则用docker-compose run web python app.py
覆盖它python
app.py。
第二个区别是该
docker-compose run
命令 。这样可以防止端口与已经打开的端口发生冲突。如果确实要创建服务的端口并将其映射到主机,请指定–service-ports标志:
$ docker-compose run --service-ports web python manage.py shell
因此,除非您有这些特定需求(覆盖命令或仅在不同端口上运行一个容器),否则docker-compose up
(即使对于一个容器)也足够。
您能帮助解释为什么或何时不希望创建端口吗?这就是为什么或它们可能与已经打开的端口冲突的原因
仅仅是因为docker-compose run
可以为您的服务运行一次性命令。
这意味着,如果您已经执行过a docker-compose up
,则所有容器都已经在从的指定端口上运行docker-compose.yml
。
如果docker-compose run
在此阶段执行a(一次性执行命令),如果它遵循相同的端口,则将立即失败。因此,默认情况下不创建这些端口。
另一个用例(在Compose环境变量参考中):
要查看哪些环境变量可用于服务,请运行
docker-compose run SERVICE env
。
这些命令的最新(2019+)版本在docker/docker.github.io
:
docker compose run
docker compose up
以上是 我应该使用docker-compose up还是运行它? 的全部内容, 来源链接: utcz.com/qa/431917.html