Я пытался запустить эластичный поиск, используя docker. И хотел сохранить данные с помощью тома. Это была команда, которую я использовал.
docker run -it --rm -v $(pwd)/elasticdata:/usr/share/elasticsearch/data elasticsearch:7.5.1
Это нормально работало на моей маме c. Но когда я попытался запустить его в Travis CI, произошел сбой при отказе в разрешении для каталога /usr/share/elasticsearch/data/
.
Вот несоответствие, которое я заметил с разрешениями томов docker в OSX против Linux
OSX (Docker версия 19.03.8, сборка afacb8b)
$ ls -l elasticdata/.keepme
-rw-r--r-- 1 nikhil staff 0 Apr 3 13:07 elasticdata/.keepme
$ docker run -it --rm -v $(pwd)/elasticdata:/usr/share/elasticsearch/data elasticsearch:7.5.1 namei -l /usr/share/elasticsearch/data/.keepme
f: /usr/share/elasticsearch/data/.keepme
drwxr-xr-x root root /
drwxr-xr-x root root usr
drwxr-xr-x root root share
drwxrwxr-x elasticsearch root elasticsearch
drwxr-xr-x root root data
-rw-r--r-- root root .keepme <---------------- owned by root!
Ubuntu (Docker версия 18.06.1-ce, сборка e68fc7a)
$ namei -l elasticdata/.keepme
f: elasticdata/.keepme
drwxrwxr-x nowalekar nowalekar elasticdata
-rw-rw-r-- nowalekar nowalekar .keepme
$ docker run -it --rm -v $(pwd)/elasticdata:/usr/share/elasticsearch/data elasticsearch:7.5.1 namei -l /usr/share/elasticsearch/data/.keepme
f: /usr/share/elasticsearch/data/.keepme
drwxr-xr-x root root /
drwxr-xr-x root root usr
drwxr-xr-x root root share
drwxrwxr-x elasticsearch root elasticsearch
drwxrwxr-x 1013 1013 data
-rw-rw-r-- 1013 1013 .keepme
Ожидается ли это несоответствие?
Ударяю ли я по этому: http://turnoff.us/geek/before-devops-after-devops/?