ステップ 1:まず、ローカルの WSL で進めます
まず、Docker をインストールし、Docker サービスが起動しない場合は、次のエラーが表示されます。
Err: connection error: desc = "transport: Error while dialing dial unix:///var/run/docker/containerd/containerd.sock: timeout". Reconnecting... module=grpc
failed to start daemon: Error initializing network controller: error obtaining controller instance: unable to add return rule in DOCKER-ISOLATION-STAGE-1 chain: (iptables failed: iptables --wait -A DOCKER-ISOLATION-STAGE-1 -j RETURN: iptables v1.8.7 (nf_tables): RULE_APPEND failed (No such file or directory): rule in chain DOCKER-ISOLATION-STAGE-1
(exit status 4))
私の綿密な検索の結果、次のようにする必要があります。
sudo update-alternatives --set iptables /usr/sbin/iptables-legacy
その後、問題なく起動します。
次に、思源を実行します。
データを保持するためには、フォルダをマッピングする必要があります。例えば、次のようにします。
docker run -v /root/siyuan/:/siyuan/workspace -p 6806:6806 -u 1000:1000 b3log/siyuan --workspace=/siyuan/workspace/
しかし、次のエラーが表示される場合は、コンテナの外部にマッピングされたフォルダのアクセス権が不十分です(なぜかはわかりません、root ではありませんか?)。chmod 777 で解決します。
そして、私の 30 年間のサーバーを紹介します。
docker: Error response from daemon: failed to create shim: OCI runtime create failed: container_linux.go:380: starting container process caused: process_linux.go:545: container init caused: rootfs_linux.go:75: mounting "proc" to rootfs at "/proc" caused: mount through procfd: permission denied: unknown.
ERRO[0020] error waiting for container: context canceled
まったくもう、このサーバーは LXC 上で実行されているので、Docker を実行できません。