docker-compose ps不显示正在运行的服务

问题描述 投票:0回答:1

[我有一个通过gitlab CI / CD在远程计算机上启动的docker-compose堆栈(运行程序连接到远程计算机上的docker引擎并使用docker-compose up -d执行部署)。

[当我使用eval docker-machine env REMOTE_ADDRESS从笔记本电脑连接到该计算机时,我可以看到docker进程正在运行(docker ps),而服务堆栈似乎是空的[docker-compose ps)。

我无法使用docker-compose down停止堆栈,而尝试docker-compose up -d会给我错误

ERROR: for feamp_postgres  Cannot create container for service postgres: Conflict. The container name "/feamp_postgres" is already in use by container "40586885...". You have to remove (or rename) that container to be able to reuse that name.

反之亦然,我可以从本地笔记本电脑(使用docker-machine)启动堆栈,但是当尝试执行具有相同错误的docker-compose up -d时,CI / CD管道失败。

[这是在便携式计算机(OSX)和运行程序(ubuntu 18.04)上使用最新版本的docker和docker-compose发生的。

在其他情况下(〜10个其他项目),此操作很顺利。

这是我正在使用的docker-compose.yml文件。

version: "3.7"

services:

  web:
    container_name: feamp_web
    restart: always
    image: guglielmo/fpa/feamp:latest
    expose:
      - "8000"
    links:
      - postgres:postgres
      - redis:redis
    environment:
      - ...
    volumes:
      - public:/app/public
      - data:/app/data
      - uwsgi_spooler:/var/lib/uwsgi
      - weblogs:/var/log
    command: /usr/local/bin/uwsgi --socket=:8000 ...

  nginx:
    container_name: feamp_nginx
    restart: always
    ...

  postgres:
    container_name: feamp_postgres
    restart: always
    image: postgres:11-alpine
    ...

  redis:
    container_name: feamp_redis
    restart: always
    image: redis:latest
    ...

volumes:
    ...

networks:
  default:
    external:
      name: webproxy

通常,我可以从本地笔记本电脑从gitlab的CI / CD管道上来堆栈。

docker docker-compose docker-machine
1个回答
0
投票
假设您可以简单地丢弃这些容器,可以通过以下方式强行删除容器:

docker rm -f 40586885 docker network rm webproxy

© www.soinside.com 2019 - 2024. All rights reserved.