Вы действительно не должны запускать Docker с NFS-сервером в качестве резервной файловой системы. Даже если бы вы могли заставить его работать, это было бы медленно, и проблема распределения образов на несколько хостов уже была решена с помощью серверов реестра и многоразовых слоев.
Сама файловая система overlay2 задокументирована как требующая xfs с ftype = 1 или ext4 в качестве вспомогательной файловой системы, а не NFS.
Где вы можете использовать NFS с томами, установленными в контейнеры для постоянных данных. Эти тома будут существовать вне контейнера и не будут сохраняться в реестре, поэтому их перенос в NFS имеет смысл. Вот несколько примеров различных способов монтирования тома с помощью NFS:
# create a reusable volume
$ docker volume create --driver local \
--opt type=nfs \
--opt o=nfsvers=4,addr=nfs.example.com,rw \
--opt device=:/path/to/dir \
foo
# or from the docker run command
$ docker run -it --rm \
--mount type=volume,dst=/container/path,volume-driver=local,volume-opt=type=nfs,\"volume-opt=o=nfsvers=4,addr=nfs.example.com\",volume-opt=device=:/host/path \
foo
# or to create a service
$ docker service create \
--mount type=volume,dst=/container/path,volume-driver=local,volume-opt=type=nfs,\"volume-opt=o=nfsvers=4,addr=nfs.example.com\",volume-opt=device=:/host/path \
foo
# inside a docker-compose file
...
volumes:
nfs-data:
driver: local
driver_opts:
type: nfs
o: nfsvers=4,addr=nfs.example.com,rw
device: ":/path/to/dir"
...
На основе Ваших вопросов я предполагаю, что Вы пытаетесь к фильтрации плохих значений. Я лично чувствую, что этот метод может стать очень сложным очень быстро и рекомендовал бы кодовые значения как альтернативный метод. Вот статья IBM о предмете, который размечает за и против обоих методов, http://www.ibm.com/developerworks/tivoli/library/s-csscript/.
Для предотвращения атак с использованием кода на SQL просто используют подготовленные операторы вместо того, чтобы создать строки SQL.
При попытке санировать все данные по входу, Вы собираетесь очень перенести трудности его. Существуют тонны приемов, включающих кодировку символов и таким образом, который позволит людям обходить Ваши фильтры. Этот впечатляющий список является только некоторыми бесчисленными вещами, которые могут быть сделаны как Внедрения SQL. Вы также добрались для предотвращения инжекции HTML, инжекции JS и потенциально других. Единственный верный способ сделать это состоит в том, чтобы закодировать данные, где это используется в Вашем приложении. Закодируйте весь вывод, который Вы пишете в свой веб-сайт, кодируете все свои параметры SQL. Будьте особенно осторожны с последним, поскольку нормальное кодирование не будет работать на нестроку параметры SQL, как объяснено в той ссылке. Используйте параметризированные запросы для сейфа. Также обратите внимание, что Вы могли теоретически закодировать свои данные в то время, когда пользователь вводит их, и сохраните закодированный в базе данных, но который только работает, если Вы всегда собираетесь быть использованием данных способами, которые используют тот тип кодирования (т.е. кодирование HTML, если они будут только когда-либо использоваться с HTML; если это используется в SQL, Вы не собираетесь быть защищенными). Это частично, почему эмпирическое правило никогда не состоит в том, чтобы хранить закодированные данные в базе данных и всегда кодировать на использовании.
Проверка и привязка всех данных являются необходимостью. Выполните и клиентскую и серверную сторону validatation, потому что 10% людей выключают JavaScript в их браузерах.
У Jeff Atwood есть хороший блог о теме, которая дает Вам разновидность для ее сложности.
Вот довольно обширная статья об этом очень подвергающемся.
Я не думаю, что у Вас будет Святой Грааль здесь все же. Я также предложил бы пытаться кодировать/декодировать полученный текст некоторыми стандартными способами (Uuencode, base64)
Смотрите на проект AntiSamy [www.owasp.org]. Я думаю, что это точно, что Вы хотите; можно установить фильтр для блокирования определенных тегов. Они также предоставляют шаблоны политики, slashdot политика была бы хорошим началом, затем прибавила бы теги, которых Вы требуете.
Кроме того, существует богатство знания о веб-сайте www.osasp.org об обеспечении Вашего приложения.
Что пользователь 'Немо' говорит об использовании подготовленных операторов, и кодирование должно также быть выполнено.
не фильтруйте или значения блока.
хорошие языки шаблонной обработки HTML выйдут по умолчанию. при генерации XML/HTML затем иногда, лучше использовать инструменты DOM, чем язык шаблонной обработки. при использовании инструмента DOM затем, он удаляет много этих проблем. к сожалению, инструмент DOM обычно является дерьмом по сравнению с шаблонной обработкой :)