docker发布ASPNETCore项目 yum

发布时间 2023-12-04 20:22:42作者: 流浪のwolf

docker手动发布ASP.NET Core7

一、环境准备环节

1、准备Linux系统

Linux系统-CentOS7---基于虚拟机来安装

IP:192.168.1.97

2、安装docker环境

2.1、卸载依赖包

$ sudo yum remove docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-engine

2.2、设置镜像仓库

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

2.3、使用以下命令来设置稳定的仓库(下面三种,选择一种即可)。

使用官方源地址(比较慢)

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

阿里云镜像服务器(推荐)

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

清华大学源(推荐)

$ sudo yum-config-manager \
    --add-repo \
    https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/centos/docker-ce.repo

2.4、安装 Docker Engine-Community

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

注意:要安装特定版本的 Docker Engine-Community,请在存储库中列出可用版本,然后选择并安装:

$ yum list docker-ce --showduplicates | sort -r

2.5、通过其完整的软件包名称安装特定版本,该软件包名称是软件包名称(docker-ce)加上版本字符串(第二列),从第一个冒号(:)一直到第一个连字符,并用连字符(-)分隔。例如:docker-ce-18.09.1。

$ sudo yum install docker-ce-<VERSION_STRING> docker-ce-cli-<VERSION_STRING> containerd.io

2.6、启动 Docker。

$ sudo systemctl start docker

2.7、通过运行 hello-world 镜像来验证是否正确安装了 Docker Engine-Community 。

$ sudo docker run hello-world

二、开始发布

1、配置dockerfile 文件

我们右键项目,添加=》添加Docker支持,这里选Linux

img

注意:设置dockerfile文件属性为始终复制;

2、调整dockerfile文件


# 环境运行时基础镜像
FROM mcr.microsoft.com/dotnet/aspnet:7.0 AS base
#将当前目录内容 copy到镜像目录
COPY . /Dockeraspnetcore7
#设置工作目录
WORKDIR /Dockeraspnetcore7
#对外暴露端口 
#(注:EXPOSE并不会让容器的端口访问到主机。
#要使其可访问,需要在docker run运行容器时通过-p来发布这些端口,
#或通过-P参数来发布EXPOSE导出的所有端口)
EXPOSE 80
EXPOSE 443
#运行镜像入口命令和可执行文件名称
ENTRYPOINT ["dotnet", "Zhaoxi.NET7.WebApplication.dll"]

3、发布项目

4、我们把刚才发布目录上传到前面准备的Linux服务器中的某一个具体的目录

进入该目录执行命令:

docker build -t dockersample-image/1.0 -f Dockerfile .

再查看下镜像,可以看到镜像已经生成成功了

5、运行容器

docker run -d -p 8001:80 --name richardaspnetcorecontainer richardaspnetcore7.0