Я пытаюсь сохранить данные нексуса в постоянном томе. Для этого я использую этот составной yaml:
version: '3.5'
services:
nexus:
image: sonatype/nexus3
volumes:
- ./nexus-data:/nexus-data sonatype/nexus3
ports:
- "8081:8081"
networks:
- devops
extra_hosts:
- "my-proxy:my-proxy-address"
restart: on-failure
networks:
devops:
name: devops
driver: bridge
Перед запуском docker-compose up
я создал папку nexus-data
и дал необходимые разрешения для uid/guid 200
, как предлагается здесь:
https://github.com/sonatype/docker-nexus3/blob/master/README.md#persistent-data.
root@master-node:~/docker# ll
total 16
drwxr-xr-x 3 root root 4096 Jan 8 13:37 ./
drwx------ 22 root root 4096 Jan 8 13:40 ../
-rw-r--r-- 1 root root 319 Jan 8 13:36 docker-compose.yml
drwxr-xr-x 2 200 200 4096 Jan 8 13:37 nexus-data/
А вот список томов докера перед запуском файла компоновки (он пустой):
root@master-node:~/docker# docker volume ls
DRIVER VOLUME NAME
После команды docker-compose up
докер создал том, как показано ниже:
root@master-node:~/docker# docker volume ls
DRIVER VOLUME NAME
local 7b7b6517e5ed0e286a8fc7caef756141b5bbdb6e074ef93a657850da3dd78b2b
root@master-node:~/docker# docker volume inspect 7b7b6517e5ed0e286a8fc7caef756141b5bbdb6e074ef93a657850da3dd78b2b
[
{
"CreatedAt": "2020-01-08T13:42:34+03:00",
"Driver": "local",
"Labels": null,
"Mountpoint": "/var/lib/docker/volumes/7b7b6517e5ed0e286a8fc7caef756141b5bbdb6e074ef93a657850da3dd78b2b/_data",
"Name": "7b7b6517e5ed0e286a8fc7caef756141b5bbdb6e074ef93a657850da3dd78b2b",
"Options": null,
"Scope": "local"
}
]
root@master-node:~/docker# ls /var/lib/docker/volumes/7b7b6517e5ed0e286a8fc7caef756141b5bbdb6e074ef93a657850da3dd78b2b/_data
admin.password cache db elasticsearch etc generated-bundles instances javaprefs karaf.pid keystores lock log orient port restore-from-backup tmp
но папка, которую я указал в файле компоновки (nexus-data
), все еще пуста:
root@master-node:~/docker# ls nexus-data/
root@master-node:~/docker#
Итак, что я делаю неправильно здесь? Почему isnexus-data
пуст, а докер создает том по другому пути?
volumes:
в пути на стороне контейнера есть пробел; это правильно? - person David Maze   schedule 08.01.2020- ./nexus-data:/nexus-data
. - person leopal   schedule 08.01.2020docker run -d -p 8081:8081 --name nexus -v nexus-data:/nexus-data sonatype/nexus3
. Объемная часть-v nexus-data:/nexus-data
, а неsonatype/nexus3
, которая является именем изображения. - person leopal   schedule 08.01.2020