NFS ja SMB – Levypalvelin Dockerissa
Kotiverkossa olevalle levypalvelimelle on näppärä tallentaa suuria määriä dataa jolloin se on kaikkien kotiverkon laitteiden käytössä. Levypalvelinta voi käyttää myös laitteiden paikallisten varmuuskopioiden tekemiseen.
Yleisimmät protokollat levyjakojen tekemiseen Linux -palvelimella ovat NFS (Network File System) ja SMB (Server Message Block). Karkeasti yleistäen NFS toimii kahden Linux -laitteen välillä ja SMB taas Windows -laitteilla. Molemmilla protokollilla on siis omat käyttötarkoituksensa ja molemmat protokollat tukevat esimerkiksi luku- ja kirjoitusoikeuksien määrittelyä käyttäjätunnusten perusteella.
NFS
Kirjoittamalla Dockerissa ajettavalle NFS Palvelimelle alla näkyvän docker-compose.yaml -tiedoston, saadaan jaettuun hakemistoon luku- ja kirjoitusoikeudet. Tiedoston volumes -osiossa määritetään jaettava hakemisto ja sen polku kontin sisällä. Environment -osiossa määritellään NFS:n asetukset kyseiseen jakoon.
version: '3.3'
services:
nfs-server:
volumes:
- '/palvelimen/polku/jaettaviin/tiedostoihin:/kontin/polku'
ports:
- '2049:2049'
image: erichough/nfs-server
environment:
- 'NFS_EXPORT_0='/kontin/polku (rw,no_subtree_check)'
Kontin käynnistämisen jälkeen, asiakaspäätteillä jakoon pääsee kiinni komentamalla:
mount <Kontin-IP>:/kontin/polku /paikallinen/polku
Jos jaon haluaa olevan käytössä heti asiakaslaitteen käynnistymisen jälkeen, voi laitteen /etc/fstab -tiedostoon lisätä rivin:
<Kontin-IP>:/kontin/polku /paikallinen/polku nfs defaults 0 0
SMB
SMB protokollan käyttöä varten sille asennetaan oma palvelin Docker -konttiin. Luku- ja kirjoitusoikeudet saa määriteltyä kirjoittamalla sen docker-compose.yaml -tiedostoon rivit:
version: '3.3'
services:
samba:
image: dperson/samba
ports:
- "137:137/udp"
- "138:138/udp"
- "139:139/tcp"
- "445:445/tcp"
read_only: false
tmpfs:
- /tmp
volumes:
- '/palvelimen/polku/jaettaviin/tiedostoihin:/kontin/polku'
command:
-s "jako;/kontin/polku;yes;no;yes;all;none;;Kommentti"
SMB-palvelimen käynnistyksen jälkeen verkkojaon saa mapattua Windowsissa esimerkiksi valitsemalla tiedostoselaimessa This PC (Oma tietokone) hiiren oikella napilla ja valitsemalla Map network drive…
Tämän jälkeen avautuvaan ikkunaan kirjoitetaan jaon polu muodossa \\<Kontin-IP>\jako ja klikataan Finish.