1.阿里云esc服务器配置
使用Xshell远程连接阿里云服务器 - 程序员大本营使用Xshell远程连接阿里云服务器,程序员大本营,技术文章内容聚合第一站。https://www.pianshen.com/article/2750375233/
配置完之后 绑定密钥对。 保存密钥文件到桌面。
2.安装xshell
家庭/学校免费 - NetSarang Websitehttps://www.xshell.com/zh/free-for-home-school/
3.使用xshell连接接阿里云服务器
使用Xshell远程连接阿里云服务器 - 程序员大本营使用Xshell远程连接阿里云服务器,程序员大本营,技术文章内容聚合第一站。https://www.pianshen.com/article/2750375233/阿里云/腾讯云服务器如何创建及使用密钥的教程 - boke112联盟阿里云 ECS 后台提供了创建 SSH 密钥对功能,腾讯云服务器也内置创建 SSH 密钥功能,它们的目的都是使用密钥来提高 SSH 连接的安全性,毕竟相对于几位数的登陆密码来说,2048 位密钥显然更安全。阿里云 ECS 服务...https://boke112.com/post/5462.html
按照第一个链接配置后,发现有问题,报错提示密钥加载失败,请确定输入的密码。
重启之后解决,果然是重启大法好。
正确连接后会出现以下字样。
WARNING! The remote SSH server rejected X11 forwarding request.
Welcome to Alibaba Cloud Elastic Compute Service !
5.安装docker
5.1安装工具包
yum install -y yum-utils
安装完成后的界面
5.2 设置镜像仓库(阿里云地址)
yum-config-manager \
--add-repo \
http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
执行后的界面
5.3 更新yum 索引安装包
yum makecache fast
运行后的界面
5.4安装启动docker
yum install docker-ce docker-ce-cli containerd.io #安装,可能会出错,多试几次
运行后的界面
systemctl start docker #启动
运行后的界面
docker --version #查看docker 是否安装完成
运行后的界面
5.5Hello world
docker run hello-world #初次自动下载镜像
执行后的界面
5.6 查看所有镜像实例
docker ps -a
执行后的界面
项目中添加docker 支持
内容详解
FROM mcr.microsoft.com/dotnet/aspnet:3.1 AS base #从应用市场中添加docker
WORKDIR /app #操作的目录
EXPOSE 80 #http端口
EXPOSE 443 #https默认端口
FROM mcr.microsoft.com/dotnet/sdk:3.1 AS build #找到镜像
WORKDIR /src #找到工作目录
COPY ["NetCore3_12_30/NetCore3_12_30.csproj", "NetCore3_12_30/"] #拷贝当前项目
RUN dotnet restore "NetCore3_12_30/NetCore3_12_30.csproj" #存储一遍
COPY . .
WORKDIR "/src/NetCore3_12_30" #找到目录
RUN dotnet build "NetCore3_12_30.csproj" -c Release -o /app/build #重新构造一遍
FROM build AS publish #发布一遍
RUN dotnet publish "NetCore3_12_30.csproj" -c Release -o /app/publish
FROM base AS final
WORKDIR /app #指定拷贝目录
COPY --from=publish /app/publish .
ENTRYPOINT ["dotnet", "NetCore3_12_30.dll"] #执行终极命令
xftp 创建 发布文件夹
复制发布后的文件到服务器上
复制dockerfile文件到服务器上
执行命令
cd 20220110
执行后的界面
根据dockerfile 文件构建镜像 为镜像命名
docker build -t core31v1.10 -f Dockerfile .
#注释----这段不用粘贴 core31v1.10 为名称 会执行dockerfile 中的命令。 从网上下载文件。等待时间较长
这里一遍过, 建议过程英文代码翻译一下,是否有报错。
执行命令 查看构建的镜像
docker images
运行指令
docker run -itd -p 5726:80 core31v1.10
启动 将服务器的 5726 端口映射到容器的 80 端口 对应实例core31v1.10
5726是宿主机端口 80是容器内部端口, 通过5726转发给容器的80端口
docker 启动进程很快
运行后界面
执行命令
docker ps -a
查看所有容器
结果如下 可以看到我们构建的容器
阿里云开放端口5726
运行容器
docker run -itd -p 5726:80 core31v1.10
启动 将本地的 5726 端口映射到容器的 80 端口 对应实例core31v1.10
完成
发布方式二 新建文件夹 20220110_2
docker run -d -p 5727:80 -v /20220110_2/publishproject/WebApplication1:/app --workdir /app mcr.microsoft.com/dotnet/core/aspnet dotnet /app/WebApplication1.dll
执行后的界面
提示内容是未找到镜像,从线上地址拉取镜像
重新执行语句,提示已成功。
执行命令 查看所有镜像,防止重复
docker ps -a
命令集合 XXX是镜像名称 可以写缩写,前5位,前6位
停止容器实例
docker stop xxx
启动容器实例
docker start XXX
删除容器实例
docker rm -f XXX
使用nginx
双击回话,重新建一个回话窗口来操作nginx 执行的命令,避免混乱。
docker 中搜索 nginx 镜像
docker search nginx
执行后的界面
从仓库中拉取最新镜像
docker pull nginx
执行后的界面
文章来源:https://www.toymoban.com/news/detail-448033.html
运行 nginx
docker run nginx
执行后的界面
新建命令窗口查看镜像
docker ps -a
执行后的界面
执行命令
docker exec -it XXX/bin/bash #进入所选实例的目录中,用来更改配置
执行后的界面
执行命令
ls
列出当前目录的所有文件夹
执行后的界面
cd etc #打开etc目录
ls #查看目录下的所有文件
cd nginx #打开nginx目录
ls #查看目录下的所有文件
执行后的界面
#执行命令打开配置文件
cat nginx.conf
文章来源地址https://www.toymoban.com/news/detail-448033.html
到了这里,关于.net core 项目部署linux系统全过程的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!