Я относительно новичок в Docker. У меня есть файл docker -compose.yml, который создает том. В одном из моих Dockerfiles я проверяю, создан ли том, перечисляя содержимое тома. Я получаю сообщение о том, что тома не существует. Когда том становится доступным при использовании docker compose?
Вот мой docker -compse.yml:
version: "3.7"
services:
app-api:
image: api-dev
container_name: api
build:
context: .
dockerfile: ./app-api/Dockerfile.dev
ports:
- "5000:5000"
volumes:
- ../library:/app/library
environment:
ASPNETCORE_ENVIRONMENT: Development
Мне также нужно иметь доступный том при создании моего контейнера, потому что я использую его в своей команде do tnet restore.
Вот мой Dockerfile:
FROM mcr.microsoft.com/dotnet/core/sdk:3.1 AS api-env
#list volume contents
RUN ls -al /app/library
WORKDIR /app/app-api
COPY ./app-api/*.csproj .
#need to have volume created before this command
RUN dotnet restore --source https://api.nuget.org/v3/index.json --source /app/library
#copies all files into current directory
COPY ./app-api/. .
RUN dotnet run Api.csproj
EXPOSE 5000
RUN echo "'dotnet running'"
Я подумал, добавив -volumes: ....
в docker -compose.yml, он автоматически создаст том. Мне все еще нужно добавить команду создания тома в мой Dockerfile?