最近刚接触docker,调试.net core应用。
分别使用centos,unbuntu和debian作为宿主系统。
尝试安装dotnet sdk和dotnet runtime,
docker pull microsoft/dotnet:sdk
docker pull microsoft/dotnet:runtime
生产环境建议使用runtime,毕竟sdk整合镜像大小高达1.8g
Build命令注意事项,传入目录为Dockerfile文件所在目录。
Dockerfile命令copy 和 add 创建镜像时复制根目录是dockerfile所在目录。无法访问外部目录。此处注意,否则讲导致应用程序添加到镜像失败。
如下:. 表示当前目录
docker build -t terminalapp .
启动docker容器
docker run -idt -p 80:5000 terminalapp
安装完成之后发现无法访问 http 拒绝。
找了很久之后发现dotnet运行在linux默认监听的是localhost,在windows监听的是[.:.]全局端口。从而导致暴露给docker容器的端口无法映射。
网友评论