Pour moi-même
docker-compose.yml
version: "2.1"
services:
coder:
image: codercom/code-server
container_name: Code-Server
user: 0:0
volumes:
- /root/projects:/root/project
ports:
- 8000:8000
entrypoint: "code-server --auth none --user-data-dir /root/project --bind-addr 0.0.0.0:8000"
restart: unless-stopped
Vous pouvez être déconnecté immédiatement et une boîte de dialogue d'erreur peut apparaître assez souvent. Il semble que si la poignée de main prend 10 secondes ou plus pour des raisons telles que l'environnement du PC est lent et le traitement ne peut pas rattraper (?), Il se déconnectera avec un délai d'expiration ...
De plus, comme il est codé en dur, il semble qu'il n'y ait pas d'autre choix que de modifier le script (Minifié) directement si vous souhaitez prolonger le délai d'expiration (eh ...)
Si vous voulez vraiment le faire (dans le cas de la dernière version 3.6.1 à partir d'octobre 2020)
docker exec -it Code-Server bash
Entrez dans le conteneur avec
vi /usr/lib/code-server/lib/vscode/out/vs/workbench/workbench.web.api.js
Si vous ouvrez workbench.web.api.js avec un éditeur (vi dans le cas ci-dessus) et recherchez avec poignée de main (appuyez sur / pour vi et entrez le mot de recherche), la partie suivante doit être frappée en premier.
workbench.web.api.js:
//Une partie comme celle-ci(En fait, le code non formaté est affiché tout autour)
return new Promise((i,l)=>{const c=setTimeout(()=>{const t=new Error("handshake timeout");t.code="ETIMEDOUT",t.syscall="connect",e.logService.error(`${o} the handshake took longer than 10 seconds. Error:`),e.logService.error(t),a&&D(r),l(t)},1e4)
//En forme ci-dessus
return new Promise((i,l)=>{
const c = setTimeout(()=>{
const t = new Error("handshake timeout");
t.code = "ETIMEDOUT",
t.syscall = "connect",
e.logService.error(`${o} the handshake took longer than 10 seconds. Error:`),
e.logService.error(t),
a && D(r),
l(t)
}
, 1e4) //← Réécrire ce 1e4
Gardez un œil dessus et faites de votre mieux à partir de cette zone pour trouver la partie qui est 1e4 (10000 millisecondes = 10 secondes) et réécrivez-la autour de 1e5 (1 minute 40 secondes) ou 1e6 (16 minutes 40 secondes).
En gros, je ne suis plus déconnecté à cause d'une erreur, mais il semble que cela se produira lorsqu'une erreur se produit, alors j'aimerais la vérifier un peu plus si cela se produit fréquemment.
Le système d'exploitation de l'image codercom / code-server semble être Debian. Installez car apt peut être utilisé mais le nœud ne peut pas être utilisé. Veuillez noter que cela prendra beaucoup de temps pour le déplacer.
apt update && apt install -y npm && npm install -g n && n stable && apt remove -y --autoremove npm
Ceci est également nécessaire si vous écrivez dans un Dockerfile.
ENV DEBIAN_FRONTEND=noninteractive
Recommended Posts