我正在构建 docker(从这里)更改网络以能够将容器连接到容器。但是由于某种原因,我无法从计算机连接到容器,并且容器无法连接:docker-compose:
version: '3.4'
services:
webapi:
image: ${DOCKER_REGISTRY-}webapi
build:
context: .
dockerfile: WebApi/Dockerfile
depends_on:
- db
ports:
- "8000:80"
expose:
- 80
db:
image: microsoft/mssql-server-linux:2017-latest
container_name: webapisqldb
environment:
ACCEPT_EULA: Y
SA_PASSWORD: "Bassword@123"
ports:
- '1433:1433'
expose:
- 1433
volumes:
- sql-data:/var/opt/mssql3
volumes:
sql-data:
networks:
outside:
external: true
码头工人:
FROM mcr.microsoft.com/dotnet/core/aspnet:3.0.0-preview7-buster-slim AS base
WORKDIR /app
EXPOSE 80
FROM mcr.microsoft.com/dotnet/core/sdk:3.0.100-preview7-buster AS build
WORKDIR /src
COPY ["WebApi/WebApi.csproj", "WebApi/"]
RUN dotnet restore "WebApi/WebApi.csproj"
COPY . .
WORKDIR "/src/WebApi"
RUN dotnet build "WebApi.csproj" -c Release -o /app
FROM build AS publish
RUN dotnet publish "WebApi.csproj" -c Release -o /app
FROM base AS final
WORKDIR /app
COPY --from=publish /app .
ENTRYPOINT ["dotnet", "WebApi.dll"]
有没有人有将 docker 与数据库连接并使一切正常的示例?
80 - 应用程序在容器内运行的端口。如果要从主机访问应用程序,则需要访问端口 8000。