2016-12-27 1 views
0

Я только начал работать с докером и до сих пор довольно восторжен! На данный момент я пытаюсь создать чрезвычайно простой и расширяемый файл, который просто обслуживает базовые статические веб-сайты. Я понял, что это не должно быть так сложно, но у меня есть следующая проблема:Переписать каталог nginx html в Docker составить конфигурацию

docker-compose.yml Следующий файл по-прежнему показывает файл Nginx index.html по умолчанию, я ожидал, что это будет перезаписана моей папке проекта ./code. Могу ли я перезаписать все файлы в /usr/share/nginx/html без добавления отдельного Dockerfile? Я пытаюсь сохранить эту конфигурацию как можно более минимальной.

version: '2' 

services: 
    web: 
    image: nginx:alpine 
    ports: 
     - "8080:80" 
    volumes: 
     - ./code:/usr/share/nginx/html 

    // Whenever needed php/python/dababase services can be added here 
+0

Я только что протестировал ваш файл сочинения как есть, и он работал как ожидалось. Я создал простой файл index.html в каталоге ./code. Остановитесь и запустите службу Docker и посмотрите, разрешит ли она это; У меня, к сожалению, были схожие проблемы, и остановка и начало решены. –

+0

Хм, странно, я вижу только «Добро пожаловать в nginx!» html-файл. Также после перезагрузки моего сервиса. – hY8vVpf3tyR57Xib

+0

Единственное, что я могу придумать после этого, это то, что ваш ./code-файл не находится на том же уровне, что и ваш файл docker-compose.yml. Попробуйте разместить полный путь вместо относительного './Code' и посмотреть, разрешит ли он это. –

ответ

1

Поэтому я получил его, добавив метку :z в мою команду томов. Таким образом, последняя строка в моем коде стали:

- ./code:/usr/share/nginx/html:z

Согласно docker documentation лейблов: г и: Z изменить метку в контексте контейнера. Эти суффиксы говорят Docker о необходимости перемаркировать файловые объекты на общих томах. Опция :z сообщает Docker, что два контейнера разделяют объемный контент. В результате Docker называет контент с помощью общей метки контента. Общие метки томов позволяют всем контейнерам читать/писать содержимое. Опция :Z сообщает Docker о том, чтобы помечать контент с помощью частной метки без разделов. Только текущий контейнер может использовать личный том.