首页 > 其他分享 >docker部署.net core3.1项目

docker部署.net core3.1项目

时间:2022-08-29 17:24:05浏览次数:218  
标签:libgdiplus 8080 netcore mysql core3.1 镜像 docker net

前提:

开发工具vs2022或者2019

.net core版本3.1

centos7.5

1.开发项目

注意数据库连接字符串的配置方式,默认mysql是用docker运行的,ip直接换成mysql容器名称即可。

修改appsettings.json

Data Source=mysql   mysql为容器名称
    "ConnectionStrings": {        
        "DefaultConnection": "Data Source=mysql;port=3306;Initial Catalog=testdb;user id=root;password=密码;Charset=utf8;SslMode = none;",
        "DataProvider": "MySql"

 

 

2.启用docker支持(如果创建项目时没有启动)

项目->右键->添加->docker支持

3.修改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:3.1 AS base

#解决验证码不显示问题,异常信息:Unable to load shared library 'gdiplus' or one of its dependencies. In order to help diagnose loading problems, consider setting the LD_DEBUG environment variable: libgdiplus: cannot open shared object file: No such file or directory
RUN apt-get update
RUN apt-get install libgdiplus -y

#设置工作目录
WORKDIR /app

#暴露的端口要和代码中Program文件 webBuilder.UseUrls("http://*:8080");保持一致
EXPOSE 8080

#复制文件到工作目录/app
COPY . . 


#启动程序
ENTRYPOINT ["dotnet", "Cloud.Boss.dll"]

 

4.发布项目

项目->右键->发布

5.上传发布后的文件到centos指定的目录下/mydocker/netcore/cloudboss

6.使用xshell登录centos,进入到目录/mydocker/netcore/cloudboss

cd /mydocker/netcore/cloudboss

 

7.将项目打包成docker镜像

注意一下,libgdiplus安装速度很慢的,可以先试用libgdiplus构建一个基础镜像。以后使用自己构建的带libgdiplus的镜像。

docker build -t netcore_demo .

 

8.查看镜像

docker images

 

 

9.运行容器

docker run \
-d \
--network mynet \
--restart unless-stopped \
-p 8080:8080 \
--name netcore_demo \
-e TZ="Asia/Shanghai" \
netcore_demo

 

10.内网访问测试:

注意:外网访问的话端口要开启。

curl 127.0.0.1:8080

 

标签:libgdiplus,8080,netcore,mysql,core3.1,镜像,docker,net
From: https://www.cnblogs.com/eggTwo/p/16636628.html

相关文章

  • Docker常用命令
    帮助命令dockerversion    -查看docker版本号信息dockerinfo       -显示docker的系统信息,包括镜像和容器的数量docker--help     -......
  • Netty客户端使用以及重连
    Netty客户端使用以及重连1.pom依赖<dependency><groupId>io.netty</groupId> <artifactId>netty-all</artifactId> <version>4.1.30.Final</version></dependen......
  • uniapp+.net core 小程序获取手机号
    获取手机号从基础库2.21.2开始,对获取手机号的接口进行了安全升级,以下是新版本接口使用指南。(旧版本接口目前可以继续使用,但建议开发者使用新版本接口,以增强小程序安全性......
  • jenkins整合docker及harbor的使用
    修改镜镜仓库地址:  systemctlrestartdocker  repo是harbor仓库的仓库名称          修改为3.0并提交         ......
  • 【ubuntu18.04 Server】解决Failed to restart network.service: Unit network.servic
    1、问题配置静态IP时,报错Failedtorestartnetwork.service:Unitnetwork.servicenotfound.  2、解决办法sudoapt-getinstallnetwork-manager  参考......
  • docker 容器自动重启参数 --restart
    最近新加了一个容器,发现这个容器在docker服务重启之后不会自动起来。原来是少了--restart参数dockerrun-d--restart=always--name=nginx605c77e624dd--restart=always......
  • Ubuntu18.04 开机卡“A start job is running for wait for network to be Configured
    Ubuntu开机卡在这里迟迟无法开机,要等倒计时完以后才会顺利开机。原因可能是系统开机初始化网络配置出错,加上系统默认配置有等待时间,导致系统会一直进行一些无用的尝试,直到......
  • tiangolo/uvicorn-gunicorn:python3.8 fastapi docker部署
    经验教训:1、gunicornlog文件固定放置在容器中目录:/code/logs,所以这个目录必需映射出来;2、按照fastapi官方建议,uvicorn运行目录:/app,所以这个目录要映射到代码目录;3、......
  • Modbus485转Profinet网关连接水表模块配置案例
     本案例控制的是Modbus485水表模块。系统主PLC选用西门子CPU,通过Modbus转Profinet网关采集水表模块通讯数据。 1、首先创建新项目文件; 2、导入GSD文件。将小疆......
  • CentOS 7下安装docker和FreeSWITCH-全过程
    具体步骤如下:准备工作:提前将安装包放在CentOS系统下(提前创建好文件夹,这里为:/home/freeswitch(后转移至/home/soft-fs),所需文件如下: 复制第1、3、4、5到本地计算机(这里路......