Не удается добраться до моего контейнера .NET - PullRequest
0 голосов
/ 12 мая 2018

Я использую виртуальную машину с CentOS 7.4.1708 с установленным Docker и docker-compose для развертывания приложения .NET с сервером MSSQL. Однако, несмотря на то, что docker-compose может как создавать, так и запускать образ и контейнер, я не могу получить к нему доступ с моего хоста или с dockerhost. Я пытался использовать Firefox, Google, wget и Invoke-Webrequest с моего хоста и dockerhost tolocalhost: 8080, 0.0.0.0:8080, ipaddressvm: 8080 и ipaddresscontainer: 8080.

Я думаю, что это может быть проблема с портами или образом Docker, который я использую. Тем не менее, я добавил все необходимые порты в брандмауэр, и это, похоже, не решило проблему. Образ Docker, который я использую, кажется, работает нормально. Это microsoft / dotnet: 2.0.5-sdk-2.1.4, такой же, как мой проект .NET.

Я включил мои dockerfile, docker-compose.yml и firewall-rules ниже:

cat > Dockerfile << EOF 
FROM microsoft/dotnet:2.0.5-sdk-2.1.4

RUN mkdir -p /app

WORKDIR /app

COPY . /app

RUN dotnet restore

RUN dotnet build

EXPOSE 5000/tcp

ENV ASPNETCORE_URLS http://*:5000

ENTRYPOINT ["dotnet", "run"]
EOF

cat > docker-compose.yml << EOF 
version: "3"

services:
  web:
    build: .
    ports:
      - "8080:5000"
    depends_on:
      - db
  db:
    image: "microsoft/mssql-server-linux"
    environment:
      SA_PASSWORD: "Vagrant123"
      ACCEPT_EULA: "Y"
EOF

firewall-cmd --add-port=8080/tcp --permanent
firewall-cmd --add-port=80/tcp --permanent
firewall-cmd --add-port=5000/tcp --permanent
firewall-cmd --add-port=1433/tcp --permanent
firewall-cmd --reload

Я немного сошел с ума. Я уже пытался добавить к нему статический маршрут, используя порт по умолчанию, равный 80, добавить службу http- и https в брандмауэр и устранить неполадки с использованием стека TCP / IP, насколько это возможно для контейнеров. Я не могу правильно сказать, где я ошибся, и я не могу устранить ее дальше.

1 Ответ

0 голосов
/ 20 сентября 2018

Проверьте требования к паролю

Ваш пароль (например, Vagrant123) не соответствует требованиям сложности . Поэтому попробуйте добавить не алфавитно-цифровые символы, такие как восклицательный знак (!).

Проверка журналов

Чтобы проверить наличие ошибок, выполните: docker logs ID (где ID - ваш идентификатор контейнера SQL из docker ps).

...