-
-
Notifications
You must be signed in to change notification settings - Fork 178
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
project_root showing different paths in docker and docksal. Unable to restart project without removing volumes. #1368
Comments
I have seen this also. The weird thing is that if I go to the website for the project it starts up fine. |
Thanks for the tip. Good workaround in the meantime. Edit: Unfortunately doesn't work if you need to init the project. |
Docksal creates a hardlink "/mnt/c" -> "/c". This is needed historically for windows docker-compose.exe to work. Might be not needed anymore. Looks like some Docker update broke this thing that used to work for ages |
It looks like there needs to be a link from "/host_mnt/c" to "/c" also or instead of the "/mnt/c" to "/c". Is there a command we could enter to try to see if this works? |
@kenrbnsn sure, the original bind mount is created via sudo mkdir -p "/$drive"
sudo mount --bind "/mnt/$drive" "/$drive" where |
@gconry18 just a random thing to try to help diagnose the problem (should list the contents of
|
I just update fin to v1.99.0 and this is still a problem. 🙁 |
Have you tried creating that bind mount that we discussed above? You didn't reply back then |
I'm able to reproduce with a fresh project in WSL (Ubuntu 18.04) + Docker Desktop v2.3.0.2
Volumes section from
I'll be looking into what's going on there. |
Downgrading docker-compose from 1.26.0 to 1.23.2 does not help. Downgrading to Docker Desktop 2.1.0.5 solves the issue. Volumes section from
Notice Apparently, the new file sharing implementation in Docker Desktop 2.2.0.0+ causes this issue. |
Is this something you think could be fixed within docksal, or would keeping docker below 2.2.0.0 be the way to go going forward? |
I think it might be Docker - docker-compose combo docker/compose#5563 |
This... It's something in the way docker creates bind mount volumes. On 2.1.0.5:
On 2.3.0.3:
I'm leaning towards just adding an override with
@achekulaev thoughts? |
@gconry18 stick with 2.1.0.5 until we figure out and release a workaround. |
@lmakarov, Any luck with this? |
@gconry18 this is still on the back-burner... |
FWIW I'm getting this issue on Docker Desktop for Mac v2.4.0.0 when using osxfs/bind mode ( # Applying configuration change after the project stack has been already initialized:
$ fin up
Starting services...
ERROR: Configuration for volume project_root specifies "device" driver_opt /Users/leonid/Work/Projects/test, but a volume with the same name uses a different "device" driver_opt (/host_mnt/Users/leonid/Work/Projects/test). If you wish to use the new configuration, please remove the existing volume "test_project_root" first:
$ docker volume rm test_project_root Adding the following override in volumes:
project_root:
driver: local
driver_opts:
device: /host_mnt${PROJECT_ROOT}
o: bind
type: none I'm also going to work on a permanent fix for this. |
@lmakarov Hi, I changed these files manuelly but i got same error as like before. Starting services... ERROR: Configuration for volume project_root specifies "device" driver_opt /home/emircan/projects/drupal, but a volume with the same name uses a different "device" driver_opt (/run/desktop/mnt/host/wsl/docker-desktop-bind-mounts/Ubuntu/4d517cdc27e9497b47928fa410726df15793c4328c2b43a6023946018d24ee9e). If you wish to use the new configuration, please remove the existing volume "drupal_project_root" first: $ docker volume rm drupal_project_root |
@emircanerkul |
@lmakarov is this fix public? Can I just do a |
Error:
|
@lmakarov I'm experiencing this issue after upgrading to Mac OS X 11 Big Sur, latest versions of Docker docksal. I was able to get going again on one project ("pulse" in the listing below) with a
|
Description
When starting up a "new" project (after running
fin project remove
) the docker volume created for the project_root and the docksal project config show different paths. This leads to an issue when restarting the project that there is a volume of the same name with a different "device" driver_opt.docksal config path:
/c/Users/gconry/DocksalSites/relatedacsf
docker volume path:
/host_mnt/c/Users/gconry/DocksalSites/relatedacsf
This is using WSL Ubuntu 18.04.
I've never had this issue before and have other projects that are working correctly (although I dare not reset them). Their docker container path match the docksal config path.
Something to note:
My project that works has
"com.docker.compose.version": "1.23.2"
The one that is having the issue is
"com.docker.compose.version": "1.24.1"
Steps to reproduce the issue:
fin up
to start projectfin stop
to stop itfin up
to restart issueDescribe the results you received:
Error Message:
ERROR: Configuration for volume project_root specifies "device" driver_opt /c/Users/gconry/DocksalSites/relatedacsf, but a volume with the same name uses a different "device" driver_opt (/host_mnt/c/Users/gconry/DocksalSites/relatedacsf). If you wish to use the new configuration, please remove the existing volume "relatedacsf_project_root" first:
$ docker volume rm relatedacsf_project_root
Describe the results you expected:
Docker volume should have the same path (or not conflict)
Output of
fin config
:fin config output
Output of
docker volume inspect
:docker volume inspect output
Output of
fin sysinfo
:fin sysinfo output
The text was updated successfully, but these errors were encountered: