我已经对 .net 应用程序进行了 docker 化。Dockerfile 位于应用程序文件夹内,而不是存储库的根目录中
docker 文件粘贴在下面
FROM mcr.microsoft.com/dotnet/aspnet:5.0-buster-slim AS base
WORKDIR /app
EXPOSE 80
EXPOSE 443
FROM mcr.microsoft.com/dotnet/sdk:5.0-buster-slim AS build
WORKDIR /src
COPY ["app/app.csproj", "app/"]
RUN dotnet restore "app/app.csproj"
COPY . .
WORKDIR "/src/app"
RUN dotnet build "app.csproj" -c Release -o /app/build
FROM build AS publish
RUN dotnet publish "app.csproj" -c Release -o /app/publish
FROM base AS final
WORKDIR /app
COPY --from=publish /app/publish .
ENTRYPOINT ["dotnet", "app.dll"]
Run Code Online (Sandbox Code Playgroud)
为了使 Elastic Beanstalk 读取 dockerfile,我已将以下 docker-compose.yml 放入存储库的根目录中
version: '3.4'
services:
app: …Run Code Online (Sandbox Code Playgroud) 我是角度新手。我已将一个角度应用程序部署到 aws 中的 docker 容器中。该应用程序需要连接到 aws s3 存储桶。我不需要对 aws 密钥进行硬编码,因此我在 docker 中设置了一个环境变量。Angular 的部署使得 ng 构建中的 dist 文件夹由 nginx docker 容器提供服务。
一旦将 dist 文件夹中的内容提供到服务器中,是否可以通过角度读取服务器环境变量?就像php和nodejs中的env函数一样
我正在尝试使用我的 dockerfile 安装 php7-mongodb。直到昨天同样有效,但今天 dockerbuild 抛出以下错误
Step 4/12 : RUN apk add php7-mongodb
---> Running in b6713ea15c9d
php7-mongodb (missing):
ERROR: unsatisfiable constraints:
required by: world[php7-mongodb]
The command '/bin/sh -c apk add php7-mongodb' returned a non-zero code: 1
Run Code Online (Sandbox Code Playgroud)
我尝试在 dockerfile 中使用 apk update 和 apk upgrade 但仍然无法正常工作。知道问题是什么吗?
我使用 alpine edge 作为基础版本。
我们可以使用以下 dockerfile 重新创建问题
FROM alpine:edge
RUN echo "http://dl-cdn.alpinelinux.org/alpine/edge/testing" >> /etc/apk/repositories
RUN apk update && apk upgrade
RUN apk add php7-mongodb
Run Code Online (Sandbox Code Playgroud)