我正在使用安装了DockOS和docker-compose的CentOS 7.4.1708虚拟机来部署带有MSSQL服务器的.NET应用程序。 但是,尽管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和防火墙规则:
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堆栈进行故障排除。 我无法正确地告诉我哪里出错,也无法进一步解决问题。
答案 0 :(得分:0)
您的密码(例如r"(?<=\n\n|\•\s)[A-Z-\s]{2,}(?=\n\n|\s\•)"
)不符合complexity requirements。因此,请尝试添加非字母数字字符,例如感叹号(Vagrant123
)。
要检查错误,请运行:!
(其中docker logs ID
是来自ID
的SQL容器ID)。