Netatalk 是一款實作 AFP(Apple Filing Protocol)的免費開源軟體,它允許 類unix(Unix-like) 操作系統當作蘋果(Macintosh)電腦的文件服務器。
簡介尚未完成
docker images ver 3.1.1
- 3:netatalk 主板號
- 1:使用的 netatalk 版本更新
- 1:dockerfile 變更
netatalk 3.1.12
使用 port 548
可以使用下面指令,讓 docker 直接從鏡像庫下載 netatalk:3.1.1 運行:
$ sudo docker run --name netatalk -p 548:548 -v data:/data -d 48763/netatalk:3.1.1
或是使用 git clone 複製專案,並在本機端建立鏡像檔運行:
$ git clone https://github.com/48763/netatalk-on-docker.git
$ sudo docker build -t netatalk .
$ sudo docker run --name netatalk -p 548:548 -v data:/data -d netatalk
預設儲存目錄在 /data
,為了確保數據不隨著容器被刪除,當運行容器時,請使用 --mount
或 --volume
,掛載本地端目錄或匿名卷以保存數據。
bonjour 是應用廣播探索服務,所以需要手動設定連接伺服器。
點擊 (Finder),使用快捷鍵 cmd
+ k
,將會跳出連接伺服器的視窗。輸入伺服器位置後連接,再輸入預設的用戶 - yuki
和密碼 - P@ssw0rd
,就能夠順利登入。
afp://192.168.51.59:48763
之後再到 Time Machine 選擇硬碟就可以使用並備份。
下面表格為容器運行時, entrypoint.sh
所接受使用的環境變數。
參數 | 描述 | 預設值 | 參數依賴 |
---|---|---|---|
USER | 自定義用戶名稱 | yuki | - |
UID | 設定用戶識別碼 | 1000 | USER |
GROUP | 自定義用戶群組名稱 | tm | - |
GID | 設定用戶群組識別碼 | 1000 | GROUP |
PASSWORD | 變更用戶登入預設密碼 | P@ssw0rd | - |
DISABLED | 關閉目錄生成及其權限變更 | - | - |
一般使用時,只需要設置 USER
和 PASSWORD
,就可以創建自己的帳戶進行操作。
$ sudo docker run \
--name netatalk \
-p 548:548 \
-e USER=new_user_name \
-e PASSWORD=new_password \
-d \
48763/netatalk:3.1.1
當使用 --mount
或 --volume
掛載目錄時,如果想使用戶輕鬆在本地存取目錄及檔案,可設定用戶的 UID
和 GID
。
$ sudo docker run \
--name netatalk \
-p 548:548 \
-e USER=yayuyo \
-e UID=$(id -u)\
-e GROUP=devops \
-e GID=$(id -g) \
-d \
48763/netatalk:3.1.1
如果想要高度變更/操作應用,可以使用 DISABLED
來抑制 entrypoint.sh
產生和變更目錄。
$ sudo docker run \
--name netatalk \
-e DISABLED=any_string \
-d \
48763/netatalk:3.1.1
在 afp.conf
配置檔中,設定目錄使用權限是限制群組,所以只要將新用戶加入至群組就能使用共享目錄。
$ sudo docker exec \
-it \
netatalk \
sh -c '
adduser -D -u 1001 -s /sbin/nologin -G tm -g tm yayuuo
echo "yayuyo:123" | chpasswd
'
如果想要隨時變更配置,並且不想讓連線中斷,可以使用下面指令。
$ sudo docker exec -it netatalk vi /etc/afp.conf
$ sudo docker exec -it netatalk pkill -HUP netatalk
[1] netatalk, alpinelinux:netatalk, English
[2] nginxinc, docker-nginx, English