WTM项目通过官网生成的项目,自带dockerfile。翻开查看是需要先上传代码到服务器,编译并发布源码然后制作镜像(docker image)。有些小伙伴估计和我一样,不太愿意源码直接传服务器。那么我们就写一个发布后,直接制作镜像的dockerfile。

一、添加dockerfile并修改

在web项目中添加docker支持,选择liunx。添加的dockerfile将属性设置为始终复制。

具体dockerfile文件修改为

#See https://aka.ms/containerfastmode to understand how Visual Studio uses this Dockerfile to build your images for faster debugging.
# 环境运行时基础镜像
FROM mcr.microsoft.com/dotnet/aspnet:5.0-buster-slim AS base
#安装验证码处理库
RUN apt-get update
RUN apt-get install libgdiplus -y
#将当前目录内容 copy到镜像目录
COPY .  /wtm
#设置工作目录
WORKDIR /wtm
#对外暴露端口
EXPOSE 80
#运行镜像入口命令和可执行文件名称
ENTRYPOINT ["dotnet", "PGSqlTest.dll"]

mcr.microsoft.com/dotnet/aspnet:5.0-buster-slim 这个基础镜像如果一开始没有也不用去管,制作镜像的时候docker会自己去拉取。

RUN apt-get update
RUN apt-get install libgdiplus -y

这两句就是给镜像安装上验证码的处理库。

二、制作WTM镜像并运行容器

1.构建镜像
项目发布后,将dockerfile文件拷贝到发布目录中,并将目录cd到部署目录,使用下面的命令构建镜像

#docker build -t <镜像名称> <目录> .为当前目录
docker build -t wtmdemo .

命令执行完成后,出现Successful,就代表镜像制作成功。

docker inmages查看镜像

2.运行镜像
镜像构建完成后,使用以下命令来运行镜像容器

#docker run --name=<容器名称>  -d<后台运行> -p <外部暴露端口>:<容器端口> <关联镜像>
docker run --name=dockerdemo -d -p 8080:80 wtmdemo:latest

如下图成功执行,docker ps查看运行容器

 3.访问页面验证是否发布成功

4、设置容器开机启动

 docker update --restart=always (自己docker产生的id)

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐