- 右键WebApi添加,选择Docker支持
系统选择你需要部署的系统,添加成功后会出现Dockerfile这个文件
- 把文件里面的内容替换成:
#基于 microsoft/dotnet:5.0.0-core 来构建我们的镜像
FROM mcr.microsoft.com/dotnet/sdk:5.0
#创建项目在docker容器内的工作目录,容器启动时执行的命令会在该目录下执行
#WORKDIR 命令为后续的RUN、CMD、COPY、ADD等命令配置工作目录。设置后,接下来的COPY和ADD命令中的相对路径就是相对于WORKDIR指定的路径
WORKDIR /app
#EXPOSE 是声明运行时容器提供服务端口,将在docker run -p <宿主端口>:<容器端口>时用到
EXPOSE 5000
#点并不是指本机目录下的文件,而是 docker引擎中展开的构建上下文中的文件
#即当前执行docker build构建时的所在目录,即在目录testah目录
#将当前上文下的文件复制到容器内的当前目录下
COPY . .
#使用dotnet webapi.dll来运行应用程序
CMD ["dotnet", "TestDocker.dll"]
右键Dockerfile文件选择属性
改成始终复制,这样打包后,文件也会跟着输出
-
为appsettings.json增加一行代码 “urls”: “http://*:5000”,
-
修改Startup类下面的Configure函数,将以下两句代码移动到if判断外面,否则发布后看不到Swagger UI界面
-
发布项目
选择发布到文件夹 -
发布后的项目文件
-
进入当前目录,在当前目录Shift+右键 打开Powershell控制器窗口
-
接下来安装docker;,执行命令 curl -sSL https://get.daocloud.io/docker | sh
-
Docker安装完成后执行命令 service docker start 启动Docker服务。执行命令 service docker status 查看Docker状态。看到running表示启动成功了。
-
执行命令 【docker build -t testdocker .】来构建docker镜像,之后使用docker images就能看到我们构建成功地镜像
-
执行命令 docker run -p 5000:5000 testdocker 将刚才构建地镜像运行起来。然后访问url:http://localhost:5000/swagger/index.html 可以看到我们的接口部署成功了!
docker常用命令
#启动docker
service docker start
#docker所有的命令都可以在后面加上 --help查看指令帮助
比如:
docker --help
docker ps --help
#查询docker版本
docker version
#查看docker状态
service docker status
(start, stop, restart, try-restart, reload, force-reload, status)
#查看所有正在运行的容器
docker ps -a
#删除docker容器
docker rmi 容器ID
#查看docker镜像
docker images
#查看docker信息
docker info
#删除docker镜像
docker rmi 镜像ID
#启动指定容器
docker start container_name/container_id
#停止指定容器
docker stop container_name/container_id
#重启指定容器
docker restart container_name/container_id
#附加指定容器
docker attach container_name/container_id
复制代码