实现步骤:
一、先安装 DockerToolbox-17.10.0-ce_for_win7_win8.exe
安装完后 桌面会出现三个图标:Docker Quickstart Terminal,Oracle VM VirtualBox,Kitematic (Alpha)
二、双击运行Docker Quickstart Terminal 进行初始化配置
三、创建.net core 的 asp.net core 程序 , 这里以 asp.net core 2.1为例
四、发布asp.net core 2.1 程序
在 cmd 窗口执行下列命令:
cd asp.net core的项目目录
dotnet publish五、配置Dockerfile
将 Dockerfile 文件 放在项目根目录 设置文件属性为始终输出
Dockerfile文件:
# 使用镜像
FROM microsoft/dotnet:2.1-aspnetcore-runtime
# 为RUN、CMD、ENTRYPOINT指令配置工作目录
WORKDIR /app
COPY . .
# 运行时容器提供服务端口 docker run -p的时候生效
EXPOSE 7777
# 作用是在启动容器的时候提供一个默认的命令项,是不能被docker run命令的执行命令覆盖
ENTRYPOINT ["dotnet", "NetCoreDocker.dll"]
六、在docker窗口 打包和运行镜像
先在docker 窗口 cd 跳转到到 asp.net core 发布目录
1).打包镜像: 运行 docker toolbox,cd 到程序发布目录 ,再运行下列命令 ( 注意结尾后面的空格加点不要忘记 否则提示缺少参数:需要一个额外的参数)
docker build -t aspnetcoredocker . 2).运行命令docker run --name aspnetcoredocker -p 7777:80 -d aspnetcoredocker
浏览器上运行效果:
IP 为 192.168.99.100 是docker在初始化时自动分配的docker的IP地址,端口7777 为docker运行为-p 映射的端口