gpt4 book ai didi

python - Docker Pytest容器在完成测试过程后仍处于启动状态

转载 作者:行者123 更新时间:2023-12-02 18:59:51 24 4
gpt4 key购买 nike

我已经设置了django项目,现在尝试使用pytest对其进行测试。在我的容器中运行pytest不会在过程结束时杀死它。因此,最终,我受困于pytest中的多个正在运行的容器,并且经常出现postgreSql连接问题。
我的docker-compose文件:

version: '3'
services:
license_server:
build: .
command: bash -c "python manage.py migrate && gunicorn LicenseServer.wsgi --reload --bind 0.0.0.0:8000"
depends_on:
- postgres
volumes:
- .:/code
environment:
DATABASE_NAME: "${DATABASE_NAME}"
DATABASE_USER: "${DATABASE_USER}"
DATABASE_PASSWORD: "${DATABASE_PASSWORD}"
DATABASE_PORT: "${DATABASE_PORT}"
DATABASE_HOST: "${DATABASE_HOST}"
env_file: .env
ports:
- "8000:8000"
restart: always
postgres:
build: ./postgres
volumes:
- ./postgres/postgres_data:/var/lib/postgresql/data/
environment:
POSTGRES_PASSWORD: postgres
DATABASE_NAME: "${DATABASE_NAME}"
DATABASE_USER: "${DATABASE_USER}"
DATABASE_PASSWORD: "${DATABASE_PASSWORD}"
DATABASE_PORT: "${DATABASE_PORT}"
DATABASE_HOST: "${DATABASE_HOST}"
command: "-p 8005"
env_file: .env
ports:
- "127.0.0.1:8005:8005"
restart: always
nginx:
image: nginx:latest
container_name: nginx1
ports:
- "8001:80"
volumes:
- .:/code
- ./config/nginx:/etc/nginx/conf.d
depends_on:
- license_server

我要实现的是在测试过程完成后自动关闭容器。
enter image description here

最佳答案

当您拥有restart: always时,它们将仅在退出该命令产生的所有进程后才继续重新启动。即使您试图自己杀死正在运行的容器,它们也会趋于重新启动(可能会造成麻烦)。尝试从服务描述中删除restart: always

有关更多信息,请检查docker-compose.yml reference

关于python - Docker Pytest容器在完成测试过程后仍处于启动状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61652003/

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