Update Dockerfile
Browse files- Dockerfile +15 -8
Dockerfile
CHANGED
|
@@ -90,6 +90,7 @@ def filter_function(tarinfo):
|
|
| 90 |
# 如果当前文件夹名在排除列表中,整个剔除
|
| 91 |
name = os.path.basename(tarinfo.name)
|
| 92 |
if name in EXCLUDE_DIRS:
|
|
|
|
| 93 |
return None
|
| 94 |
return tarinfo
|
| 95 |
|
|
@@ -104,16 +105,16 @@ def backup():
|
|
| 104 |
size_mb = os.path.getsize(BACKUP_NAME) / (1024 * 1024)
|
| 105 |
print(f"[+] 备份成功!体积:{size_mb:.2f} MB")
|
| 106 |
print(f"[!] 请在侧边栏右键点击 {BACKUP_NAME} 选择 'Download' 下载。")
|
| 107 |
-
print(f"[提示] 下次还原后,只需重新执行 npm install 或 pip install 即可
|
| 108 |
|
| 109 |
def restore():
|
| 110 |
if not os.path.exists(BACKUP_NAME):
|
| 111 |
-
print(f"[!] 错误:找不到备份文件 {BACKUP_NAME}。")
|
| 112 |
return
|
| 113 |
print("[*] 正在还原源代码和配置...")
|
| 114 |
with tarfile.open(BACKUP_NAME, "r:gz") as tar:
|
| 115 |
tar.extractall(path="/root")
|
| 116 |
-
print("[+] 还原成功!请
|
| 117 |
|
| 118 |
if __name__ == "__main__":
|
| 119 |
if "--backup" in sys.argv: backup()
|
|
@@ -121,11 +122,17 @@ if __name__ == "__main__":
|
|
| 121 |
EOF
|
| 122 |
|
| 123 |
# ------------------------------------------------------------
|
| 124 |
-
# 6) code-server 设置
|
| 125 |
# ------------------------------------------------------------
|
| 126 |
-
RUN mkdir -p /root/.config/code-server /root/.local/share/code-server/User
|
| 127 |
-
|
| 128 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 129 |
{
|
| 130 |
"workbench.startupEditor": "none",
|
| 131 |
"telemetry.telemetryLevel": "off",
|
|
@@ -142,4 +149,4 @@ WORKDIR /root
|
|
| 142 |
EXPOSE 7860
|
| 143 |
RUN chsh -s $(which zsh) root
|
| 144 |
|
| 145 |
-
ENTRYPOINT ["code-server", "--bind-addr", "0.0.0.0:7860", "--auth", "none", "/root"]
|
|
|
|
| 90 |
# 如果当前文件夹名在排除列表中,整个剔除
|
| 91 |
name = os.path.basename(tarinfo.name)
|
| 92 |
if name in EXCLUDE_DIRS:
|
| 93 |
+
print(f" -> Skipping: {tarinfo.name}")
|
| 94 |
return None
|
| 95 |
return tarinfo
|
| 96 |
|
|
|
|
| 105 |
size_mb = os.path.getsize(BACKUP_NAME) / (1024 * 1024)
|
| 106 |
print(f"[+] 备份成功!体积:{size_mb:.2f} MB")
|
| 107 |
print(f"[!] 请在侧边栏右键点击 {BACKUP_NAME} 选择 'Download' 下载。")
|
| 108 |
+
print(f"[提示] 下次还原后,只需重新执行 npm/pnpm install 或 pip install 即可。")
|
| 109 |
|
| 110 |
def restore():
|
| 111 |
if not os.path.exists(BACKUP_NAME):
|
| 112 |
+
print(f"[!] 错误:找不到备份文件 {BACKUP_NAME}。请先上传。")
|
| 113 |
return
|
| 114 |
print("[*] 正在还原源代码和配置...")
|
| 115 |
with tarfile.open(BACKUP_NAME, "r:gz") as tar:
|
| 116 |
tar.extractall(path="/root")
|
| 117 |
+
print("[+] 还原成功!请重新安装项目依赖。")
|
| 118 |
|
| 119 |
if __name__ == "__main__":
|
| 120 |
if "--backup" in sys.argv: backup()
|
|
|
|
| 122 |
EOF
|
| 123 |
|
| 124 |
# ------------------------------------------------------------
|
| 125 |
+
# 6) code-server 设置 (已修复 YAML 语法错误)
|
| 126 |
# ------------------------------------------------------------
|
| 127 |
+
RUN mkdir -p /root/.config/code-server /root/.local/share/code-server/User
|
| 128 |
+
|
| 129 |
+
# 使用 cat heredoc 保证 YAML 格式正确
|
| 130 |
+
RUN cat > /root/.config/code-server/config.yaml <<'EOF'
|
| 131 |
+
bind-addr: 0.0.0.0:7860
|
| 132 |
+
auth: none
|
| 133 |
+
EOF
|
| 134 |
+
|
| 135 |
+
RUN cat > /root/.local/share/code-server/User/settings.json <<'EOF'
|
| 136 |
{
|
| 137 |
"workbench.startupEditor": "none",
|
| 138 |
"telemetry.telemetryLevel": "off",
|
|
|
|
| 149 |
EXPOSE 7860
|
| 150 |
RUN chsh -s $(which zsh) root
|
| 151 |
|
| 152 |
+
ENTRYPOINT ["code-server", "--bind-addr", "0.0.0.0:7860", "--auth", "none", "/root"]
|