在多个Docker中共享容器定义组成
在我的docker-compose中有一个nginx代理容器定义:
nginx-proxy: image: jwilder/nginx-proxy ports: - "80:80" volumes: - /var/run/docker.sock:/tmp/docker.sock:ro
我想在多个docker-compose.yml文件中定义这个容器(每个项目一个)。
我怎么能这样做,而不是每次都停止容器(因为正在使用端口80)? 这个想法是:如果没有运行nginx-proxy
容器,运行这个,否则使用运行的。
你可以有一个nginx的所有项目。 在这种情况下,你需要在你有nginx服务和使用only_nginx / docker-compose.yml文件
projectx_service: extends: file: /path_to/only_nginx/docker-compose.yml service: nginx-proxy ...
这种块在你的每个项目docker – 组成文件。
例:
only_nginx / docker-compose.yml :
nginx-proxy: image: jwilder/nginx-proxy ports: - "80:80" volumes: - /var/run/docker.sock:/tmp/docker.sock:ro
PROJECT1 /搬运工-compose.yml
project1_service: extends: file: /path_to/only_nginx/docker-compose.yml service: nginx-proxy ...
项目2 /搬运工-compose.yml
project2_service: extends: file: /path_to/only_nginx/docker-compose.yml service: nginx-proxy ...