netcore使用docker+centos7部署

2019-12-17  本文已影响0人  TomGui

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

运行结果

参考文档:

上一篇下一篇

猜你喜欢

热点阅读