1,拉取最新的dotnet镜像
docker pull microsoft/dotnet
docker images 可以查看本地下载的镜像
2,通过镜像创建容器
docker run -it microsoft/dotnet /bin/bash
-i 以交互模式启动创建并启动容器,容器启动后直接进入容器中
3,在容器中创建web项目
mkdir web_test
cd web_test
dotnet new -t web
dotnet restore
dotnet run
这时web站点已经跑起来了,这个时候通过ip访问:http://172.168.99.100:5000并不能访问到,问题出在没有将端口暴露给宿主机
ctrl+c退出站点,exit退出容器
这时候docker ps -a 可以查看到已经停掉的容器,可以看到docker为我们随机生成了容器名称和ID
如果需要再次启动容器,记得不要用docker run(这个会新建一个容器)
用docker start container_name (如我这里第一个 docker start infallible_lovelace -i)
4,上面已经碰到宿主机不能访问到站点,是因为没有将端口暴露给宿主机,我们重新创建一个容器,这次我们指定一下端口号和环境变量
docker run -p 8000:80 -e "ASPNETCORE_URLS=http://+:80" -it --rm microsoft/dotnet
mkdir web_test
cd web_test
dotnet new -t web
dotnet restore
dotnet run
上面-e是设置环境变量,-p 设置端口映射
这时候访问http://192.168.99.100:8000/ ,大功告成
5,这时候想看下dotnet生成的web源码
ctrl+c退出站点,exit退出容器,docker ps -s 列出所有容器,找到刚才的容器ID
docker cp container_id:/web_test web_test
这时候Windows 下用户文件夹中就会多出一个web_test文件夹,拷贝成功