在docker-compose中使用network_mode ='host'break run:主机typesnetworking不能与链接一起使用

我dockerized django应用程序,它需要连接到HOST PostgresDB数据库。 为此,我在docker工作:

version: '2' services: web: build: context: . dockerfile: DockerfileWeb command: gunicorn --timeout=300 --graceful-timeout=30 -w 2 --threads 2 -b 0.0.0.0:8000 cobros.wsgi volumes: - .:/code - /tmp:/tmp network_mode: "host" ports: - "8000:8000" restart: always environment: - DATABASE_URL=postgres://postgres@127.0.0.1/postgres - PRODUCTION="true" 

这工作正常,除非我试图在docker中运行一个命令,如:

 docker-compose run web python manage.py periodico 

现在我得到这个错误:

[192.168.1.70] out:错误:无法为服务web创build容器:b“冲突选项:主机typesnetworking不能与链接一起使用,这会导致未定义的行为”

这是因为docker-compose run运行另一个容器,一个新的容器,它正在尝试附加到与您的docker-compose up相同的networkingdocker-compose up容器,以便它们可以一起工作。

由于发布规则,这不适用于hostnetworking。

相反,你可以使用docker-compose exec web python manage.py periodico