docker-compose up --build不反映已发布端口的更改

时间:2020-01-24 01:42:17

标签: docker docker-compose virtualenv

好吧,我将docker-compose文件更改为将端口绑定到80。我希望这会更新为正在运行的(新创建的)docker中的端口更改。

但是我注意到这不会发生:

version: '3.7'
networks:
  test:
    driver: bridge
services:
  test-nginx:
    build:
      context: ./test-nginx/
    container_name: test-nginx
    image: test-nginx
    networks:
    - test
    ports:
    - 380:80

但是在docker-compose up -d --build test-nginx之后再docker ps之后,我看到以下内容:

CONTAINER ID        IMAGE                 COMMAND                  CREATED             STATUS              PORTS                          NAMES
fc1ef0f91f24        test-nginx            "nginx -g 'daemon of…"   5 minutes ago       Up 8 seconds        443/tcp, 0.0.0.0:280->80/tcp   test-nginx

它仍在使用旧端口280。我如何在不先删除dockers的情况下强制其更新docker?上下文包含一个DockerFile,它仅公开所需的端口。 (在获取站点数据之前)。

这是否可能是由于docker-compose最初在(python)虚拟环境中运行? -然后再用普通的外壳? 如果这是问题所在,我该如何在python中“退出”虚拟环境?

docker-compose最初通过子进程运行:

subprocess.run(['sudo', 'docker-compose', 'up', '-d', '--build'])

0 个答案:

没有答案
相关问题