Docker - Não é possível compartilhar dados entre contêineres em um volume (composição do docker 3)

Por enquanto, tenho alguns contêineres para um aplicativo Web (nginx, gunicorn, postgres e node para criar arquivos estáticos a partir da fonte e uma renderização do lado do servidor React). Em um Dockerfile para o contêiner do nó, tenho duas etapas: criar e executar (Dockerfile.node) Termina com dois diretórios dentro de um contêiner:bundle_client - é estático para um nginx ebundle_server - usado no próprio contêiner do nó para iniciar um servidor expresso.

Então, preciso compartilhar uma pasta estática criada (bundle_client) com o contêiner nginx. Para fazê-lo de acordo com a referência docker-compose no meudocker-compose.yml Eu tenho os seguintes serviços (consulte adocker-compose.yml):

node:
  volumes:
    - vnode:/usr/src

nginx:
  volumes:
    - vnode:/var/www/tg/static
  depends_on:
    - node

e volumes:

volumes:
  vnode:

Corridadocker-compose build termina sem erros. Corridadocker-compose up corre tudo ok e eu posso abrirlocalhost:80 e há nginx, gunicorn e SSR express de nó, todos funcionando muito bem e posso ver uma página da web, mas todos os arquivos estáticos retornam erro 404 não encontrado.

Se eu verificar volumes comdocker volume ls Eu posso ver dois volumes recém-criados chamadostg_vnode (que consideramos aqui) etg_vdata (consulte docker-compose.yml completo)

Se eu for para um contêiner nginx comdocker run -ti -v /tmp:/tmp tg_node /bin/bash Não consigo ver meuwww/tg/static pasta que deve mapear meus arquivos estáticos do volume do nó. Também tentei criar um vazio/var/www/tg/static pasta com contêiner nginxDockerfile.nginx mas permanece vazio.

Se eu mapear umbundle_client pasta da máquina host no diretóriodocker-compose.yml em umnginx.volumes seção como- ./client/bundle_client:/var/www/tg/static funciona bem e eu posso ver todos os arquivos estáticos servidos com nginx no navegador.

O que estou fazendo de errado e como fazer com que meu contêiner compartilhe conteúdo estático incorporado com o contêiner nginx?

PS: Eu li todos os documentos, todos os problemas do github e perguntas e respostas sobre o stackoverflow e, como eu entendi, tem que funcionar e não há informações sobre o que fazer quando não funciona.

UPD: Resultado dedocker volume inspect vnode:

[
{
    "CreatedAt": "2018-05-18T12:24:38Z",
    "Driver": "local",
    "Labels": {
        "com.docker.compose.project": "tg",
        "com.docker.compose.version": "1.21.1",
        "com.docker.compose.volume": "vnode"
    },
    "Mountpoint": "/var/lib/docker/volumes/tg_vnode/_data",
    "Name": "tg_vnode",
    "Options": null,
    "Scope": "local"
}
]

Arquivos:Dockerfile.node, docker-compose.yml

Arquivo de encaixe Nginx:Dockerfile.nginx

UPD: Criei um repositório simplificado para reproduzir uma pergunta:repo (existem alguns avisos emnpm install esqueça, ele instala e constrói ok). Eventualmente, quando abrimoslocalhost:80 vemos uma página vazia e 404 mensagens para arquivos estáticos (vendor.js eapp.js) nas ferramentas de desenvolvimento do Chrome, mas deve haver uma mensagemReact app: static loaded gerado pelo script de reação.

questionAnswers(2)

yourAnswerToTheQuestion