基于CentOs系统使用docker发布部署.Net Core项目

一.创建Dockerfile文件

目录

一.创建Dockerfile文件

二.配置Dockerfile文件

1.第一种:使用Dockerfile自动生成代码(可以不发布)

2.第二种:重新配置DockerFile(需要发布)

2.1初始配置

2.2第二种重新配置

三、配置拉取服务器镜像源并配置docker(Centos系统)

3.1、镜像源

3.2、Docker

四、设置国内镜像

1.配置国内镜像

2.重启docker服务

3.检查是否成功

五、docker-compose安装

六、在云服务器或虚拟机中配置项目所需要的Nginx、数据库(SqlServer、MySql)缓存数据库(Redis)等

七、.Net Core6(后端项目)

 


1.在UI层新建DockerFile文件或在创建新项目时勾选使用Docker

二.配置Dockerfile文件

1.第一种:使用Dockerfile自动生成代码(可以不发布)

2.第二种:重新配置DockerFile(需要发布)

2.1初始配置
 #什么都没有配置的
 # 使用官方的 .NET 6.0 SDK 镜像作为基础镜像
 FROM mcr.microsoft.com/dotnet/aspnet:6.0 AS base
 
 # 暴露端口
 EXPOSE 80
 
 # WORKDIR 镜像的工作目录
 WORKDIR /app
 
 # 复制文件
 COPY . .
​
 # 定义启动命令
 ENTRYPOINT ["dotnet", "Farming.HttpApi.Host.dll"]#项目UI层.dll
 

2.2第二种重新配置

配置新功能后

在复制文件之后,启动命令之前进行配置

验证码需要进行下包SkiaSharp.NativeAssets.Linux.NoDependencies

#配置了后端验证码的
 #配置后端验证码使用 如果没有配置后端验证码
 # 使用官方的 .NET 6.0 SDK 镜像作为基础镜像
 FROM mcr.microsoft.com/dotnet/aspnet:6.0 AS base
 
 # 暴露端口
 EXPOSE 80
 
 # WORKDIR 镜像的工作目录
 WORKDIR /app
 
 # 复制文件
 COPY . .
 #修改apt-get的源加速下载
RUN sed -i s@/deb.debian.org/@/mirrors.163.com/@g /etc/apt/sources.list
RUN cat /etc/apt/sources.list
 #需要下载的东西
RUN apt-get update && apt-get install -y libgdiplus
​
 # 定义启动命令
 ENTRYPOINT ["dotnet", "Farming.HttpApi.Host.dll"]#项目UI层.dll

2.3

发布前在配置文件中更改数据库连接字符串!!!

三、配置拉取服务器镜像源并配置docker(Centos系统)

3.1、镜像源

拉取阿里云镜像源

curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo

生成缓存

#清空
yum clean all
#生成缓存
yum makecache

如果之前有镜像使用

yum-config-manager --disable  ltl89o8a.mirror.aliyuncs.com
3.2、Docker

卸载之前的docker(可选)

yum remove docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-selinux \
                  docker-engine-selinux \
                  docker-engine \
                  docker-ce

联网并安装yum工具

yum install -y yum-utils \
           device-mapper-persistent-data \
           lvm2 --skip-broken

更新本地镜像源

# 设置docker镜像源
yum-config-manager \
    --add-repo \
    https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
    
sed -i 's/download.docker.com/mirrors.aliyun.com\/docker-ce/g' /etc/yum.repos.d/docker-ce.repo

yum makecache fast

安装docker

yum install -y docker-ce

查看docker版本

docker --version

[关闭防火墙操作]  生产环境不可用 

# 关闭
systemctl stop firewalld
# 禁止开机启动防火墙
systemctl disable firewalld

启动docker

systemctl start docker
#设置docker为开机自启
sudo systemctl enable docker

配置镜像加速器 

sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'     
{
  "registry-mirrors": ["https://rxudtqj1.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker

四、设置国内镜像

1.配置国内镜像

#国内镜像
vi  /etc/docker/daemon.json
#出现编辑页面后按 i 进入可编辑
#编辑以下代码
{
    "registry-mirrors": ["https://mirror.ccs.tencentyun.com"],
    "live-restore": true
}
#成功后Esc退出 并 shift+:输入wq结束编辑

2.重启docker服务

systemctl daemon-reload

service docker restart

3.检查是否成功

docker info

五、docker-compose安装

#基于docker安装docker-compose
#进入bin目录
cd /usr/local/bin
#下载docker-compose
curl -L https://github.com/docker/compose/releases/download/1.28.6/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
#赋予权限
chmod +x /usr/local/bin/docker-compose
#查看版本
docker-compose --version

六、在云服务器或虚拟机中配置项目所需要的Nginx、数据库(SqlServer、MySql)缓存数据库(Redis)等

在docker库中查询可拉取版本

docker search 拉取名称

拉取镜像

docker pull 版本名
#删除镜像(当前镜像未被容器使用的前提下)
docker rmi 镜像id/镜像名

查看镜像

#第一种
docker images
#第二种
docker image ls

基于镜像创建容器

docker run --name 容器名称 -p 80:80 -d 镜像名称

容器

#正在运行中的容器
docker ps
#所有容器
docker ps -a
#开启容器
docker start 容器名/id
#停止容器
docker stop 容器名/id
#删除容器
docker rm 容器名/id
#查看容器日志
docker logs 容器名/id

七、.Net Core6(后端项目)

#使用xftp7工具将发布后的文件上传到服务器下的root(最高权限文件夹)可以在当前文件夹中新建文件夹以区分

#文件过大可以使用压缩文件形式传送(压缩格式为.tar)
#传送过后在终端中进入当前文件夹
cd /root/文件夹名
#查看文件夹所有文件
ls
#进行解压
tar -xvf 压缩文件.tar
#构建镜像  
#注意:. 不要漏
docker build -t 镜像名 .
#创建容器并使用
docker run -it --rm -p 8088:80 --name 容器名 镜像名

注:Centos7 安装Docker 详细多图版_centos7安装docker-优快云博客icon-default.png?t=N7T8https://blog.youkuaiyun.com/qq_15752347/article/details/132461033

Centos 7配置镜像源_centos7 镜像源配置-优快云博客icon-default.png?t=N7T8https://blog.youkuaiyun.com/shiguabg123/article/details/134864082

docker以及docker-compose的部署icon-default.png?t=N7T8https://blog.youkuaiyun.com/qq_43327182/article/details/138188658?spm=1001.2014.3001.5502

docker配置MySqlicon-default.png?t=N7T8https://blog.youkuaiyun.com/tangshiyilang/article/details/130517251

容器镜像服务 (aliyun.com)icon-default.png?t=N7T8https://cr.console.aliyun.com/cn-hangzhou/instances/mirrors?accounttraceid=7da6a98da4f14647b2119de118ded88afxbd

docker部署Redisicon-default.png?t=N7T8https://blog.youkuaiyun.com/wochunyang/article/details/135334283

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值