.NetCore 发布到 Centos docker

Posted DotNet开发跳槽

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了.NetCore 发布到 Centos docker相关的知识,希望对你有一定的参考价值。

【搭建环境】

     系统:CentOS 7.0    容器:Docker 1.13.1    .Net Core 版本:.NET Core 2.2     工具:putty、filezilla 等.

一、安装 docker

1. 安装 docker

    yum install docker            ps: 更新 docker 用 yum update 

2. 启动 docker 服务

    systemctl  start docker.service

3. 配置开机启动

    systemctl enable docker.service

    4. 配置 docker 加速器

      配置 docker 加速最快的方法直接修改/etc/docker/daemon.json 下的配置信息为:      

          {
"registry-mirrors": ["https://d8b3zdiw.mirror.aliyuncs.com"]
}

5. 在终端重启 docker 服务      

        sudo systemctl daemon-reload
sudo systemctl restart docker

二、部署.NetCore 应用到 Docker

1. 新建一个 ASP.NET Core 2.2 项目,在 Windows 下发布运行成功

2. 添加 docker 支持,选择 Linux(或在添加项目时勾选启用docker支持)

.NetCore 发布到 Centos docker

3.编写DockerFile,并设置文件属性:始终复制    

        FROM microsoft/dotnet:2.2-aspnetcore-runtime
COPY .
/apiweb
WORKDIR
/apiweb
EXPOSE
80
ENTRYPOINT [
"dotnet", "ApiWeb.dll"]

 

      构建Dockerfile 注释
① FROM指定基础镜像,这里统一使用microsoft
/dotnet(:tag)Tag是一个标签,指定一个版本或者最近的版本(即latest)
② COPY拷贝发布文件到本地的
/ apiweb /的路径下,供容器使用
③ WORKDIR 指定容器的工作目录
④ EXPOSE 指定容器的端口(注意,不是服务器访问到程序的端口)
      ⑤ ENTRYPOINT 执行交互命令,使用CMD亦可赛艇,但是注意两者都是执行完整命令的话,是会相互覆盖的,只有最后一个有效。

.NetCore 发布到 Centos docker

4.发布项目

.NetCore 发布到 Centos docker

5.将Dockerfile文件复制到发布成功的目录,并利用ftp工具全部上传到服务器

  .NetCore 发布到 Centos docker

6.构建Docker镜像

①.进入到发布文件目录(Dockerfile文件所在目录)

          cd  /home/wwwroot/apiweb

.NetCore 发布到 Centos docker

②. 拉取基础镜像

            docker pull microsoft/dotnet:2.2-aspnetcore-runtime

③. 执行命令创建镜像 ,注意最后面有个.

            docker build -t apiweb .

apiweb是创建镜像的名称,这个命令会根据当前目录下dockerfile配置文件,进行打包。运行查看镜像 docker images

④. 创建容器,其中前一个apiweb是容器名 后一个apiweb是上一步的镜像名。

--name:指定容器名称;

-p:指定容器端口,是进行宿主和容器之间端口的映射,(-p 宿主端口:容器端口);

-d:指定容器后台运行,这样容器就会一直运行,即使关掉终端窗口。

            docker run --name=apiweb -p 80:80 -d  apiweb
或者
docker run
--name=apiweb -p 宿主ip:5000:80 -d apiweb

出现一长串字符串,便是表示容器运行成功。

7.验证访问

直接通过浏览器访问即可(宿主ip+端口号)。

 

.NetCore 发布到 Centos docker

            Docker常用命令:
docker
-v / version /info 查看docker版本信息
docker images 查看所有镜像
docker ps 查看所有正在运行的容器
docker ps
-a 查看所有容器
docker rmi
+镜像ID 删除某个镜像
docker stop
+容器ID 停止某个容器
docker start
+容器ID 启动某个容器
docker restart
+容器ID 重启某个容器
docker rm
+容器ID 删除某个容器
docker rmi $(docker images
-q) 删除所有镜像
docker rm $(docker ps
-a -q) 删除所有容器
docker logs
+容器ID 查看容器日志信息找原因
netstat
-tanlp 查看端口
kill
+端口 杀死某个端口
docker search mysql 镜像检索
docker pull mysql 镜像下载

 

原文链接:

https://www.cnblogs.com/wmyll/archive/2019/04/11/10687818.html


以上是关于.NetCore 发布到 Centos docker的主要内容,如果未能解决你的问题,请参考以下文章

我的Docke-CE学习笔记(03)

Asp.Net Core 发布到 Docker(Linux Centos 虚拟机,使用Dockerfile)

.NET Core部署到linux(CentOS)最全解决方案,入魔篇(使用Docker+Jenkins实现持续集成自动化部署)

NetCore入门centos7.x下搭建netcore环境和helloworld的demo

Docke--Dockerfile实践

CentOS+Nginx+Supervisor部署ASP.NET Core项目