部署 Asp.Net Core 應用到 Docker


前言:

      今天不說Docker 是啥,容器是啥鏡像又是啥(如果這些不知道,請自行學習),今天很單純的將 .Net Core 應用程序部署到Docker上。

起因:

  好多同學私信讓我寫篇能落地的【一步步】將 Asp.Net Core 應用程序部署到Docker上的操作文檔。

一、環境 

1.1、開發環境

  Win10 + VS2019/VS Code

1.2、部署環境

  CentOS 8.0 + Docker

二、部署前准備工作

  2.1、在 CentOS8.0 上安裝 Docker

    a)、安裝所需的軟件包

yum install -y yum-utils  device-mapper-persistent-data lvm2

  

b)、配置阿里雲鏡像源

yum-config-manager --add-repo  http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

c)、安裝最新版本的Docker Engine-Community 和 containerd.io

 yum install docker-ce docker-ce-cli containerd.io

  

 

     不好意思 ,報錯了,既然報錯了就解決唄!

      從它的報錯信息可以看出,  docker-ce-3:19.03.13-3.el7.x86_64 這個家伙需要的 containerd.io 的版本要大於等於 1.2.2_3,目前我們本地的倉庫沒有這個版本,那我們就單獨將它安裝。

      1)、單獨安裝containerd.io       

dnf install https://download.docker.com/linux/centos/8/x86_64/stable/Packages/containerd.io-1.3.7-3.1.el8.x86_64.rpm

  

      2)、安裝剩下的 Docker-ce和Docker-ce-cli

dnf install docker-ce docker-ce-cli

  

     e)、驗證是否安裝成功

docker --version

  

  f)、設置開機自啟,啟動Docker  

systemctl enable docker
systemctl start docker

  

 

    g)、配置Docker 加速器 【阿里】

      1)vim /etc/docker/daemon.json

         這里的地址我的,可以修改成你們自己的。

      2)、使其配置生效   

systemctl daemon-reload
systemctl restart docker

  

   2.2、編寫Dockerfile並制作鏡像(image)

根據Dockerfile制作鏡像有兩種方式:

      •   一種是在Win10上根據Dockerfile制作鏡像,並將鏡像發布到鏡像倉庫中或者將鏡像上傳到CentOS 中
      •   還有一種就是將發布后的文件復制到CentOS 上,並根據Dockerfile 制作鏡像。我這里采用的第二種。(我的開發機器上【Win10】沒有安裝Docker)
FROM mcr.microsoft.com/dotnet/core/aspnet:3.1-buster-slim AS base
RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
RUN echo 'Asia/Shanghai' >/etc/timezone
ENV LANG C.UTF-8
MAINTAINER Aju <10225608xx@qq.com>
LABEL version="1.0"
WORKDIR /app
COPY . .
EXPOSE 80
EXPOSE 443
ENTRYPOINT ["dotnet", " WebApi.dll"]

      a)、將應用程序發布后上傳到【/var/www/api/】,並將編寫好的 Dockerfile 也上傳到【/var/www/api/】

          肯定有人問,可以將Dockerfile上傳到別目錄下嗎?答案是可以

      b)、制作鏡像

          1)、cd /var/www/api/

          2)、制作鏡像

            docker build -t aju.webapi .

      c)、使用 docker images 可以看到我們剛創建的鏡像

   2.3、創建並啟動容器【后台運行】

        1)、使用上一步制作的鏡像來創建並運行一個容器

        2)、docker ps 

        3)、OK了,我們可以在訪問了

 

 

 3、總結

  Docker 其實也沒那么難,動手操作才是最重要的【跟着本文章,一步步肯定能跑起來,如有問題可留意或私信】。至於基礎內容請自信學習【https://docs.docker.com/get-started/】,

  加油,噢力給!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM