我有几个容器,每个容器都在一个docker-compose-<service>.yaml文件中描述,我从这些容器开始
docker-compose -f docker-compose-<service>.yaml up -d然后,我通过docker ps看到容器正在运行。
我以为我可以通过
docker-compose -f docker-compose-<service>.yaml down然而,容器并没有停止。当我使用上面提到的stop而不是down时,情况也不是这样。
执行docker kill <service>将停止容器。
我的问题是:由于我从docker-compose docker-compose-<service>.yaml 开始的所有服务实际上都是每个docker-compose-<service>.yaml文件的一个容器,我是否可以使用bare docker 命令来阻止它?
或者更广泛地说:docker-compose仅仅是底层docker命令的助手,这意味着使用docker总是安全的(从“使用不同命令的一致性”角度来看)?
发布于 2019-12-03 16:17:57
我的问题:由于我的所有服务都是从docker开始的,所以实际上每个docker-复合-..yaml文件都是一个容器,我可以使用裸的docker命令来停止它吗?
实际上,停靠-组合使用的是码头引擎,您可以在本地尝试:
例:docker-compose.yaml.docker:
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:

如果需要,您现在可以与它们交互:

更全面地说,坞-撰写是一种管弦乐(我更喜欢composer的terme ),如果您需要定义容器堆栈,相互依赖(就像前面的示例phpmyadmin/mysql),那么在dev环境中进行测试是非常完美的。在我看来,有一个更好的弹性,HA,服务管理.对于生产环境中的容器堆叠,您非常需要考虑一个真正的管弦乐队的实现,如坞群、库伯内特斯、openshift.下面是一些解释差异的文档:https://linuxhint.com/docker_compose_vs_docker_swarm/
您还可以看到:What is the difference between docker-compose build and docker build?
https://stackoverflow.com/questions/59160954
复制相似问题