美文网首页
netcore使用docker+centos7部署

netcore使用docker+centos7部署

作者: TomGui | 来源:发表于2019-12-17 23:19 被阅读0次

    1、CentOS Docker 安装

    1.1设置仓库

    在新主机上首次安装 Docker Engine-Community 之前,需要设置 Docker 仓库。之后,您可以从仓库安装和更新 Docker。

    安装所需的软件包。yum-utils 提供了 yum-config-manager ,并且 device mapper 存储驱动程序需要 device-mapper-persistent-data 和 lvm2。

    $ sudo yum install -y yum-utils \
      device-mapper-persistent-data \
      lvm2
    

    使用以下命令来设置稳定的仓库。

    $ sudo yum-config-manager \
        --add-repo \
        https://download.docker.com/linux/centos/docker-ce.repo
    

    1.2安装 Docker Engine-Community

    安装最新版本的 Docker Engine-Community 和 containerd,或者转到下一步安装特定版本:

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

    如果提示您接受 GPG 密钥,请选是。

    启动 Docker

    $ sudo systemctl start docker
    

    检查Docker是否安装成功

    $ docker version
    

    2.Docker镜像加速

    国内从 DockerHub 拉取镜像有时会遇到困难,此时可以配置镜像加速器。Docker 官方和国内很多云服务商都提供了国内加速器服务,例如:

    Ubuntu16.04+、Debian8+、CentOS7

    对于使用 systemd 的系统,请在 /etc/docker/daemon.json 中写入如下内容(如果文件不存在请新建该文件):

    {"registry-mirrors":["https://registry.docker-cn.com"]}
    

    之后重新启动服务:

    $ sudo systemctl daemon-reload
    $ sudo systemctl restart docker
    

    3.netcore docker部署

    3.1创建一个webapi测试程序

    创建demo

    vs会自动创建一个Dockerfile文件,每行docker指令的具体含义可查看官方文档

    #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/core/aspnet:3.1-buster-slim AS base
    WORKDIR /app
    EXPOSE 80
    
    FROM mcr.microsoft.com/dotnet/core/sdk:3.1-buster AS build
    WORKDIR /src
    COPY ["netcore-docker-demo/netcore-docker-demo.csproj", "netcore-docker-demo/"]
    RUN dotnet restore "netcore-docker-demo/netcore-docker-demo.csproj"
    COPY . .
    WORKDIR "/src/netcore-docker-demo"
    RUN dotnet build "netcore-docker-demo.csproj" -c Release -o /app/build
    
    FROM build AS publish
    RUN dotnet publish "netcore-docker-demo.csproj" -c Release -o /app/publish
    
    FROM base AS final
    WORKDIR /app
    COPY --from=publish /app/publish .
    ENTRYPOINT ["dotnet", "netcore-docker-demo.dll"]
    

    3.2部署

    3.2.1centos中创建程序目录

    $ mkdir /usr/local/app
    

    3.2.2通过FTP拷贝程序文件到centos

    通过Xftp等工具,具体用法自己google

    3.2.3docker部署netcore

    定位到程序目录

    $ cd cd /usr/local/app/netcore-docker-demo/
    

    构建docker镜像

    $ docker build -t netcore-docker-demo .
    

    其中.是Dockerfile相对打开目录的路径

    运行docker镜像

    $ docker run -it --rm -p 5000:80 --name netcore-docker-demo1 netcore-docker-demo
    

    通过浏览器访问服务

    http://192.168.239.131:5000/WeatherForecast
    

    192.168.239.131是服务器地址,5000是docker暴露的端口,WeatherForecast是测试程序默认创建的controller

    运行结果

    参考文档:

    相关文章

      网友评论

          本文标题:netcore使用docker+centos7部署

          本文链接:https://www.haomeiwen.com/subject/doxynctx.html