docker 发布.net 5 webapi

  1. 右键WebApi添加,选择Docker支持
    docker 发布.net 5 webapi
    系统选择你需要部署的系统,添加成功后会出现Dockerfile这个文件
    docker 发布.net 5 webapi
  2. 把文件里面的内容替换成:
#基于 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文件选择属性
docker 发布.net 5 webapi
改成始终复制,这样打包后,文件也会跟着输出
docker 发布.net 5 webapi

  1. 为appsettings.json增加一行代码 “urls”: “http://*:5000”,
    docker 发布.net 5 webapi

  2. 修改Startup类下面的Configure函数,将以下两句代码移动到if判断外面,否则发布后看不到Swagger UI界面
    docker 发布.net 5 webapi

  3. 发布项目
    docker 发布.net 5 webapi
    选择发布到文件夹
    docker 发布.net 5 webapi

  4. 发布后的项目文件
    docker 发布.net 5 webapi

  5. 进入当前目录,在当前目录Shift+右键 打开Powershell控制器窗口
    docker 发布.net 5 webapi

  6. 接下来安装docker;,执行命令 curl -sSL https://get.daocloud.io/docker | sh

  7. Docker安装完成后执行命令 service docker start 启动Docker服务。执行命令 service docker status 查看Docker状态。看到running表示启动成功了。
    docker 发布.net 5 webapi

  8. 执行命令 【docker build -t testdocker .】来构建docker镜像,之后使用docker images就能看到我们构建成功地镜像

  9. 执行命令 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
复制代码
上一篇:宠物小精灵 动态数组题目解析


下一篇:ES6 --- Promise基础用法(resolve、reject、then、catch)详解一