You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository was archived by the owner on Apr 28, 2020. It is now read-only.
Repository navigation
This repository was archived by the owner on Apr 28, 2020. It is now read-only.
2019-06-05 10:13:11 ERROR build run failed: failed to run container: failed to create container: Error response from daemon: invalid mount
config for type "bind": bind source path does not exist: /home/jeffl/.config/Code
The path does exist and the permissions seem fine, any way to get the docker details it is trying to run? There is nothing in the logs.
Docker's running in Windows right? If that's the case, sail is passing Docker Windows a unix style path instead of a Windows style path for binding your VSCode configuration folder to code-server's configuration folder.
We don't officially support Windows, but this should be pretty easy to fix.
Looks like getting sail to work in WSL will require a few workarounds. I don't have Windows or WSL myself to test any of these, but from what I can tell you'll need to do the following steps:
Checkout wsl-compatibility (from the above PR) and build it
Add the following to /etc/wsl.conf (create it if it doesn't exist, this will move /mnt/c to /c which Docker can read apparently):
[automount]
root = /
Restart WSL and make sure that /c exists and is the same as C:\
Set your $HOME environment variable to somewhere in /c (probably /c/Users/something): export HOME=/c/Users/something
Sail configuration and globalStorage directories will end up in $HOME/.config/sail. You could persist this variable by replacing sail with a bash script in your path.
Set your $TMPDIR environment variable to somewhere in /c (probably /c/tmp, make sure this exists): export TMPDIR=/c/tmp
Create $HOME/.config/sail/sail.toml with the default configuration and then change the project root to an absolute path within /c
Ensure you don't have a running ssh-agent/X11 server (or do unset SSH_AUTH_SOCK && unset DISPLAY)
Add VSCODE_CONFIG_DIR and VSCODE_EXTENSIONS_DIR environment variables, set to somewhere in /c
I'm not sure if any further steps are needed since I can't test this myself. Try with my PR branch and see if you can get it to work.
@jefflindholm Could you please try again with the newest release, following the workarounds I listed above and let me know how that goes? It's possible I missed something.
Getting the same error with the bind. Docker for windows should work with volumes etc. It might be that the binds require relative directories to work, all my other docker commands I am using relative paths to mount WSL directories. I will try again when I can get WSL2 installed, where I can share directories across without issue.
Thanks for the attempt.
@deansheather WSL is just translation layer for the Linux syscalls to the NT syscalls, I think we should only support WSL2 since Windows will be using a entire kernel by default.
Reacted by Teddy, Dean Sheather and Pierrick Martin
Activity
deansheather commentedon Jun 7, 2019
Docker's running in Windows right? If that's the case, sail is passing Docker Windows a unix style path instead of a Windows style path for binding your VSCode configuration folder to code-server's configuration folder.
We don't officially support Windows, but this should be pretty easy to fix.
deansheather commentedon Jun 7, 2019
Looks like getting sail to work in WSL will require a few workarounds. I don't have Windows or WSL myself to test any of these, but from what I can tell you'll need to do the following steps:
Checkout
wsl-compatibility(from the above PR) and build itAdd the following to
/etc/wsl.conf(create it if it doesn't exist, this will move/mnt/cto/cwhich Docker can read apparently):Restart WSL and make sure that
/cexists and is the same asC:\Set your
$HOMEenvironment variable to somewhere in/c(probably/c/Users/something):export HOME=/c/Users/somethingSail configuration and globalStorage directories will end up in
$HOME/.config/sail. You could persist this variable by replacing sail with a bash script in your path.Set your
$TMPDIRenvironment variable to somewhere in/c(probably/c/tmp, make sure this exists):export TMPDIR=/c/tmpCreate
$HOME/.config/sail/sail.tomlwith the default configuration and then change the project root to an absolute path within/cEnsure you don't have a running ssh-agent/X11 server (or do
unset SSH_AUTH_SOCK && unset DISPLAY)Add
VSCODE_CONFIG_DIRandVSCODE_EXTENSIONS_DIRenvironment variables, set to somewhere in/cI'm not sure if any further steps are needed since I can't test this myself. Try with my PR branch and see if you can get it to work.
deansheather commentedon Jun 13, 2019
@jefflindholm Could you please try again with the newest release, following the workarounds I listed above and let me know how that goes? It's possible I missed something.
jefflindholm commentedon Jun 13, 2019
Getting the same error with the bind. Docker for windows should work with volumes etc. It might be that the binds require relative directories to work, all my other docker commands I am using relative paths to mount WSL directories. I will try again when I can get WSL2 installed, where I can share directories across without issue.
Thanks for the attempt.
deansheather commentedon Jun 15, 2019
I'm not too sure how WSL works, but maybe it's translating the pathnames to the Windows version before passing them to docker.
sr229 commentedon Jun 22, 2019
@deansheather WSL is just translation layer for the Linux syscalls to the NT syscalls, I think we should only support WSL2 since Windows will be using a entire kernel by default.