欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  科技

linux docker .net core 从建立网站到预览

程序员文章站 2022-06-18 18:25:53
docker的安装在网上一搜一大把,windows安装的就是exe双击,linux安装需要执行语句 ps:需要准备xftp、xshell、vs 2019、linux服务器、docker账号密码 例如: 服务器刚买好时,最好执行一次yum update打开xshell,连接上linux服务器安装、运行 ......

docker的安装在网上一搜一大把,windows安装的就是exe双击,linux安装需要执行语句

ps:需要准备xftp、xshell、vs 2019、linux服务器、docker账号密码

例如:

服务器刚买好时,最好执行一次yum update

打开xshell,连接上linux服务器
安装、运行、配置docker 1、安装docker yum install -y docker 2、查看docker是否安装成功 yum list installed |grep docker 3、启动docker服务(并设置开机自启) systemctl start docker.service systemctl enable docker.service 4、查看docker服务状态 systemctl status docker

接下来可以自己试试打包一下网站,这里用.netcore 3.1举例

网站可以自己去新建,我这里以wtm生成的模板为例

进入,项目名填写:mywtm

linux docker .net core  从建立网站到预览

 

点击下一步,版本选择.net core 3.1

linux docker .net core  从建立网站到预览

 

点击开始配置,然后会生成一个压缩文件,在本地解压缩,双击.sln

右键点击mywtm,添加=>docker支持=>linux(此时根据自己的docker运行系统选择不同版本,我这里选择linux)

然后会生成一个dockerfile文件

 

 

linux docker .net core  从建立网站到预览

 

打开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/core/aspnet:3.1-buster-slim as base
workdir /app
expose 80

#from mcr.microsoft.com/dotnet/core/sdk:3.1-buster as build
#workdir /src
#copy ["mywtm/mywtm.csproj", "mywtm/"]
#copy ["mywtm.dataaccess/mywtm.dataaccess.csproj", "mywtm.dataaccess/"]
#copy ["mywtm.model/mywtm.model.csproj", "mywtm.model/"]
#copy ["mywtm.viewmodel/mywtm.viewmodel.csproj", "mywtm.viewmodel/"]
#run dotnet restore "mywtm/mywtm.csproj"
#copy . .
#workdir "/src/mywtm"
#run dotnet build "mywtm.csproj" -c release -o /app/build
#
#from build as publish
#run dotnet publish "mywtm.csproj" -c release -o /app/publish
#
#from base as final
#workdir /appcopy publish/ /app

copy / /app  #修改为copy / /app
entrypoint ["dotnet", "mywtm.dll"]

好了, 我们的网站已经做好了准备,下一步,点击发布=>文件夹=>创建配置文件,什么都不需要改

linux docker .net core  从建立网站到预览

 

 

 然后点击发布按钮

 linux docker .net core  从建立网站到预览

 

 

 点击复制下这个文件夹

linux docker .net core  从建立网站到预览

 

 

 

 

 

打开xftp(自行下载),连接到自己的linux服务器,创建一个mywtm文件夹,将刚才的“d:\xxx\mywtm\mywtm\bin\release\netcoreapp3.1\publish\”字符串粘贴进本地地址栏

linux docker .net core  从建立网站到预览

 

然后全选上传,此时我们的文件工作全部做好了

 

 

 现在打开xshell,连接上linux服务器

 登陆自己的docker账号

docker login

按照提示输入dockerid和密码,出现successly就可以了

然后进入到自己的mywtm项目文件夹下(之前修改的dockerfile文件倒数第二句,copy / /app  第一个斜杠就是本目录,你也可以在上级目录(如publish)执行镜像创建,但是第一个斜杠前要加目录名称,例如copy publish/ /app),比如我的是

cd /root/docker/mywtm  #如果自己不在根目录下,可以先执行cd /

现在开始,创建docker镜像,出现successfully就可以了

docker build -t [dockerid]/mywtm .

linux docker .net core  从建立网站到预览

 

 

 

 然后启动容器

docker run -d -p 8010:80 -p 5000:5000 --name mywtm [dockerid]/mywtm

linux docker .net core  从建立网站到预览

 

 此时我们可以使用curl来查看自己的网站是否运行成功:

curl http://localhost:8010  #下方出现html代码说明我们的网站已经发布到docker生成镜像,并且于linux映射成功

linux docker .net core  从建立网站到预览

 

 

 

推送到自己的docker仓库

docker push [dockerid]/mywtm

linux docker .net core  从建立网站到预览

 

 

 

docker的其他操作:

停止容器:

docker stop [容器id]

删除容器

docker rm [容器id]  #或者docker container rm [容器名]

删除镜像

docker rmi [镜像名称]

查看运行的docker容器

docker ps

查看所有docker容器

docker ps -a

 

docker常见报错信息:

参见