gpt4 book ai didi

docker - 交替使用 “docker”和 “docker-compose”命令会有什么后果?

转载 作者:行者123 更新时间:2023-12-02 18:35:27 25 4
gpt4 key购买 nike

我有几个容器,每个容器都在一个docker-compose-<service>.yaml文件中描述,我从

docker-compose -f docker-compose-<service>.yaml up -d

然后,我通过 docker ps看到容器正在运行。

我希望我可以通过停止该容器
docker-compose -f docker-compose-<service>.yaml down

但是,容器不会停止。也不是当我将上面的comane与 stop而不是 down一起使用时。

进行 docker kill <service>会停止容器。

我的问题:由于我所有以docker-compose开头的服务实际上是每个docker-compose-<service>.yaml文件的一个容器,我可以使用裸docker命令停止它吗?

或更笼统地说: docker-compose是简单的基础 docker命令的帮助者,这意味着使用 docker总是安全的(从“使用不同命令的一致性”的 Angular 来看)?

最佳答案

我的问题:由于我所有以docker-compose开头的服务实际上是每个docker-compose-.yaml文件的一个容器,我可以使用裸docker命令停止它吗?

实际上docker-compose正在使用docker引擎,您可以在本地尝试:

例如:docker-compose.yaml:

version: "3"
services:
# Database
db:
image: mysql:5.7
restart: always
environment:
MYSQL_ROOT_PASSWORD: wordpress
MYSQL_DATABASE: wordpress
MYSQL_USER: wordpress
MYSQL_PASSWORD: wordpress
networks:
- wpsite
# phpmyadmin
phpmyadmin:
depends_on:
- db
image: phpmyadmin/phpmyadmin
restart: always
ports:
- '9090:80'
environment:
PMA_HOST: db
MYSQL_ROOT_PASSWORD: wordpress
networks:
- wpsite
networks:
wpsite:

enter image description here
现在,您可以根据需要通过docker引擎与他们互动:
enter image description here

更具全局意义的docker-compose是一种编排器(我更喜欢composer的术语),如果您需要定义彼此依赖的容器堆栈(例如之前的示例phpmyadmin / mysql),则非常适合在开发环境中进行测试。我认为要在生产环境中具有更好的容器堆栈的 flex ,高可用性,服务管理...,您强烈需要考虑实现真正的编排器,例如docker-swarm,kubernetes,openshift...。
这里有一些说明差异的文档: https://linuxhint.com/docker_compose_vs_docker_swarm/

您还可以看到: What is the difference between `docker-compose build` and `docker build`?

关于docker - 交替使用 “docker”和 “docker-compose”命令会有什么后果?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59160954/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com