İlk olarak ben örnek olarak vereceğim#
kullanmak istediğim uygulama (filebrowser) kurulum yaparken admin kullanıcının yanında rastgele encrypted şifre oluşturuyor arka planda calisirken ve docker logs da baktigimdada parolayi goruntuleyemedigimden boyle bir yol izledim#
docker compose up -d # -d flag arka planda çalıştır demekböyle yaptığımdan arka planda çalıştigindan parolayi olusturdu ama cikti olarak vermedi onuda olusturdugu persistent volume yazdi ama ben görmedim
docker compose upbana şifreyi verecekti ama çoktan iş işten geçti :D şifreyi de hash’li olarak sakladığından dosyalara girsem bile fayda vermeyecekti
docker run \
--name filebrowser \
-v filebrowser_data:/srv \
-v filebrowser_database:/database \
-v filebrowser_config:/config \
-p 127.0.0.1:8000:80 \
filebrowser/filebrowser
docker runile volume’lü bir şekilde oluşturmuştum ve direkt bunu run’dan volume’leri kullanarak nasıl compose haline getiririm onu halledeceğim burada bana kullanıcı olarak admin parola olarak da rastgele encrypted parola verdi bu parola aklımda ve volume’de database’de duruyor
docker ps -a
docker rm -f filebrowserçalışan docker uygulamamı kapattım sildim sadece volume duruyor
en baştan yaml dosyamı yazıyorum#
name: filebrowser
services:
filebrowser:
container_name: filebrowser
image: filebrowser/filebrowser:latest
ports:
- "127.0.0.1:8000:80"
volumes:
- filebrowser_data:/srv
- filebrowser_database:/database
- filebrowser_config:/config
restart: unless-stopped
volumes:
filebrowser_data:
external: true
filebrowser_database:
external: true
filebrowser_config:
external: trueburada tekrardan oluşturmasını engellemek için
externalolarak volume’leri belirttim artık hazır
docker compose up -dbaşta normal ayarlayıp compose up ile çıktıyı görüp yapabilirdim#
name: filebrowser
services:
filebrowser:
container_name: filebrowser
image: filebrowser/filebrowser:latest
ports:
- "127.0.0.1:8000:80"
volumes:
- filebrowser_data:/srv
- filebrowser_database:/database
- filebrowser_config:/config
restart: unless-stopped
volumes:
filebrowser_data:
filebrowser_database:
filebrowser_config:
restart: unless-stoppedburada ben durdurmadığım sürece sistem kapanıp açılsa bile tekrar çalışır
Not: bu ikinci dosya sıfırdan kurulum içindir,
externalolmadığı için composefilebrowser_filebrowser_datagibi prefix’li yeni volume yaratır, eski volume’lerdeki veriyi kullanmaz