分类 CentOS 下的文章

1、查看linux中的版本

dotnet --list-runtimes

2、编辑Dockerfile

echo 'FROM mcr.microsoft.com/dotnet/aspnet:6.0.25 AS runtime

# 添加中文字体到正确的位置
#COPY fonts/ /usr/share/fonts/

#时区
RUN cp -r -f /usr/share/zoneinfo/Asia/Shanghai /etc/localtime \
    && echo -ne "timezone Asia/Shanghai. (`uname -rsv`)\n" >> /root/.built

WORKDIR /app' > Dockerfile

3、生成镜像

echo 'docker build -t $1 -f Dockerfile .' > build.sh

mkdir /etc/yum.repos.d/bak && mv /etc/yum.repos.d/*.repo  /etc/yum.repos.d/bak
cat > /etc/yum.repos.d/CentOS-Base.repo <<EOF
[baseos]
name=CentOS Stream 10 - BaseOS
baseurl=https://mirrors.aliyun.com/centos-stream/10-stream/BaseOS/$basearch/os/
enabled=1
gpgcheck=0

[appstream]
name=CentOS Stream 10 - AppStream
baseurl=https://mirrors.aliyun.com/centos-stream/10-stream/AppStream/$basearch/os/
enabled=1
gpgcheck=0
EOF

sudo dnf clean all
sudo dnf makecache
sudo dnf update -y

特别说明

jenkins 要添加节点的方式才可以调用

安装 .net core 编译环境

dnf update -y && rpm -Uvh https://packages.microsoft.com/config/centos/8/packages-microsoft-prod.rpm && dnf install dotnet-sdk-6.0 -y

执行编译

dotnet publish "xxx.sln" /t:Build /p:Configuration=Release  /p:OutputPath=./out

dotnet publish "xxxx.sln" -c Release -o out 

基础镜像 dotnet.sh

echo 'FROM mcr.microsoft.com/dotnet/aspnet:6.0 AS runtime

#时区
RUN cp -r -f /usr/share/zoneinfo/Asia/Shanghai /etc/localtime \
    && echo -ne "timezone Asia/Shanghai. (`uname -rsv`)\n" >> /root/.built

WORKDIR /app' > Dockerfile

#生成镜像
docker build -t dotnet:1.0 -f Dockerfile .

docker-compose.yml 文件

version: '3.0'
services:
  dotnet_demo:
    container_name: dotnet_demo
    image: dotnet:1.0
    environment:
      - DOTNET_ENVIRONMENT=Production
      - TZ=Asia/Shanghai
    command: ["dotnet", "HelloApp.dll"]
    networks:
      - mynetwork
    volumes:
      - /etc/localtime:/etc/localtime:ro
      - /data/demo/HelloApp/out/:/app
networks:
  mynetwork:
    external: true