zoukankan      html  css  js  c++  java
  • .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支持)

    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亦可赛艇,但是注意两者都是执行完整命令的话,是会相互覆盖的,只有最后一个有效。

    4.发布项目

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

      

    6.构建Docker镜像

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

              cd  /home/wwwroot/apiweb

    ②. 拉取基础镜像

                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+端口号)。

     

                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                 镜像下载
                …

     

     

  • 相关阅读:
    js浏览器之浏览器对象
    js浏览器
    js面向对象编程之创建对象
    js面向对象编程
    STS清理
    使用STS新的工作空间无需再配置
    去掉文本框中的空格
    MySQL轻量版使用,无需安装,无脑操作
    Eclipse&STS常用小技巧
    如何配置上传虚拟路径问题?
  • 原文地址:https://www.cnblogs.com/wmyll/p/10687818.html
Copyright © 2011-2022 走看看