I am trying to run docker on my mac. https://docs.aspnetzero.com/aspnet-core-angular/latest/Deployment-Angular-Docker I read this document.
- I locate my terminal to this folder /Users/hsudas/Documents/GitHub/AnalisionFrontendV2/aspnet-core/build and run this command pwsh build-with-ng.ps1 (I installed powershell to Mac computer )
- Then locate to /Users/hsudas/Documents/GitHub/AnalisionFrontendV2/aspnet-core/build/outputs/Host and run this command docker compose -f docker-compose.yml -f docker-compose.override.yml up Finally got his error.
WARN[0000] /Users/hsudas/Documents/GitHub/AnalisionFrontendV2/aspnet-core/build/outputs/Host/docker-compose.yml: the attribute version
is obsolete, it will be ignored, please remove it to avoid potential confusion
WARN[0000] The "APPDATA" variable is not set. Defaulting to a blank string.
WARN[0000] The "APPDATA" variable is not set. Defaulting to a blank string.
WARN[0000] /Users/hsudas/Documents/GitHub/AnalisionFrontendV2/aspnet-core/build/outputs/Host/docker-compose.override.yml: the attribute version
is obsolete, it will be ignored, please remove it to avoid potential confusion
[+] Running 1/1
! mycompanyname.abpzerotemplate.web.host Warning pull access denied for mycompanyname.abpzerotemplate.web.host, repository does not exist or may... 0.7s
[+] Building 1.0s (9/9) FINISHED docker:desktop-linux
=> [mycompanyname.abpzerotemplate.web.host internal] load build definition from Dockerfile 0.0s
=> => transferring dockerfile: 287B 0.0s
=> [mycompanyname.abpzerotemplate.web.host internal] load metadata for mcr.microsoft.com/dotnet/aspnet:7.0 0.1s
=> [mycompanyname.abpzerotemplate.web.host internal] load .dockerignore 0.0s
=> => transferring context: 2B 0.0s
=> [mycompanyname.abpzerotemplate.web.host 1/3] FROM mcr.microsoft.com/dotnet/aspnet:7.0@sha256:c7d9ee6cd01afe9aa80642e577c7cec9f5d87f88e5d70bd36fd61072079bc55b 0.0s
=> => resolve mcr.microsoft.com/dotnet/aspnet:7.0@sha256:c7d9ee6cd01afe9aa80642e577c7cec9f5d87f88e5d70bd36fd61072079bc55b 0.0s
=> [mycompanyname.abpzerotemplate.web.host internal] load build context 0.0s
=> => transferring context: 40.41kB 0.0s
=> CACHED [mycompanyname.abpzerotemplate.web.host 2/3] WORKDIR /app 0.0s
=> CACHED [mycompanyname.abpzerotemplate.web.host 3/3] COPY . . 0.0s
=> [mycompanyname.abpzerotemplate.web.host] exporting to image 0.7s
=> => exporting layers 0.0s
=> => exporting manifest sha256:789b3df905315820d5a6104b1c9f1fd1287fbd61bfd2fd9ee8eea58ab67b7608 0.0s
=> => exporting config sha256:1a7d4fda8ba8a8466a1f1685b29db7ea0070add00ceaa4987f1b3f4d469ed18e 0.0s
=> => exporting attestation manifest sha256:d2f1bf7e9c46db825d151223739a2eac411f96213279c246636c20eb4a7e1658 0.0s
=> => exporting manifest list sha256:4aeac00514bd37457af84689603ee278b3747099e9804f45eaea3bc860c2ce02 0.0s
=> => naming to docker.io/library/mycompanyname.abpzerotemplate.web.host:latest 0.0s
=> => unpacking to docker.io/library/mycompanyname.abpzerotemplate.web.host:latest 0.7s
=> [mycompanyname.abpzerotemplate.web.host] resolving provenance for metadata file 0.0s
[+] Running 2/2
✔ Network host_default Created 0.0s
✔ Container mycompanyname.abpzerotemplate.web.host_container Created 0.2s
Attaching to mycompanyname.abpzerotemplate.web.host_container
Gracefully stopping... (press Ctrl+C again to force)
Error response from daemon: Mounts denied:
The path /Microsoft/UserSecrets is not shared from the host and is not known to Docker.
You can configure shared paths from Docker -> Preferences... -> Resources -> File Sharing.
See https://docs.docker.com/desktop/settings/mac/#file-sharing for more info.
4 Answer(s)
-
0
Hi FahrettinOzturk
The error you're encountering happens because Docker is trying to access certain directories on your Mac's file system, specifically /Microsoft/UserSecrets, but it doesn't have permission. To resolve this, you need to share that directory with Docker.
Steps to Fix:
Open Docker Preferences:
- Click on the Docker icon in the top-right menu bar of your Mac and select "Preferences."
Go to File Sharing Settings:
- In the Preferences window, navigate to the Resources section on the left, and then click on File Sharing.
Add the Directory:
- In the File Sharing tab, you'll see a list of directories that Docker is allowed to access.
- Click the + button, and add the /Microsoft/UserSecrets directory.
- After adding it, click "Apply & Restart" to save the changes.
Restart Docker:
- Docker will restart automatically after applying the changes.
Run Your Commands Again:
- Once Docker restarts, try running your command again:
docker compose -f docker-compose.yml -f docker-compose.override.yml up
These steps should allow Docker to access the necessary directory, and the error should be resolved.
If the issue persists, don’t hesitate to reach out for further assistance.
-
0
I already applied these instructions since Chat GPT gave exactly same. But the problem is I don't have UserSecrets folder in my mac.
-
0
Hi @FahrettinOzturk,
Could you try to create user secrets with the following document?
dotnet user-secrets init
https://learn.microsoft.com/en-us/aspnet/core/security/app-secrets?view=aspnetcore-8.0&tabs=linux
-
0
Nope Not worked. Since I am using mac I have changed ${APPDATA} to ~ - ${APPDATA}/Microsoft/UserSecrets:/root/.microsoft/usersecrets:ro - ${APPDATA}/ASP.NET/Https:/root/.aspnet/https:ro
And then in YML files changed FROM mcr.microsoft.com/dotnet/aspnet:7.0 AS base to FROM mcr.microsoft.com/dotnet/aspnet:8.0 AS base now worked