zoukankan      html  css  js  c++  java
  • Docker 部署 Net Core

    一、docker 安装及设置

     1 #安装 CentOS已经将Docker软件包放在了Extras软件源中,直接利用即可
     2 yum install docker-io -y  
     3 
     4 #查看docker的版本 version 
     5 docker -v 
     6 
     7 #开启Docker服务
     8 systemctl start docker.service 
     9 
    10 #开机启动Docker服务
    11 systemctl enable docker.service 
    12 
    13 #查看Docker服务启动状态
    14 systemctl status docker.service
    15 
    16 #重启Docker服务
    17 systemctl restart docker.service

    二、新建Net Core 程序

    1、新建Net Core 项目。注意不启动Docker 支持

    2、发布新建的项目(目标运行时:可移植)

    3、在发布后的文件夹中新建一个Dockerfile 文件(没有后缀)

    大概内容如下:

    FROM microsoft/dotnet:2.1-aspnetcore-runtime   //注意和你的版本要匹配
    WORKDIR /app
    COPY . .  //将当前目录下的所有文件(除了.dockerignore排除的路径),都拷贝进入 image 文件的/app目录。
    EXPOSE 5000  //端口号(将容器 5000 端口暴露出来, 允许外部连接这个端口。)
    //EXPOSE 443  //Https 端口开启
    ENTRYPOINT ["dotnet", "DockerDemo5.dll"]  //运行的程序集 改成你自己的

    三、上传发布后的项目到Linux服务器(CentOS)

    1、进入程序的发布目录

    #进入到程序的发布目标
    cd /data/web/mydocker
    
    #创建 image文件 (-t参数用来指定 image 文件的名字,后面还可以用冒号指定标签 PS:注意最后的 点)
    docker build -t aspnetcoredocker1.1 .  
    
    #生成容器,每运行一次,就会新建一个容器(这里的5000:5000 代表把容器内的5000端口映射到你主机的5000端口,容器端口在后)
    docker run -it -p 5000:5000 aspnetcoredocker1.1
    #docker run -it -p 5000:5000 aspnetcoredocker1.1:TAG   // 默认TAG是latest

    2、直接访问就可以了

    3、docker 容器自动启动(在容器退出或断电开机后,docker可以通过在容器创建时的 --restart参数来指定重启策略)

    # 设置启动策略
    docker run --restart always -it -p 5000:5000 aspnetcoredocker1.1
    
    #如果容器已经被创建,我们想要修改容器的重启策略
    docker update --restart always 3ec28be7254a //容器ID
    
    
    # --restart 多个参数值选择
    no  不自动重启容器. (默认值)
    on-failure  容器发生error而退出(容器退出状态不为0)重启容器,可以指定重启的最大次数,如:on-failure:10
    unless-stopped  在容器已经stop掉或Docker stoped/restarted的时候才重启容器,手动stop的不算
    always 在容器已经stop掉或Docker stoped/restarted的时候才重启容器

    4、docker 相关命令

    镜像文件和容器命令

    #查看所有镜像
    docker images
    
    #删除一个imageid的镜像
    docker rmi [IMAE_ID] 
    
    #删除所有镜像
    sudo docker rmi $(docker images -q) 
    
    
    #查看所有容器运行状态
    docker ps -a    
    docker container ls -all
    
    #删除一个containerid的容器(实例)
    docker rm 6f0c67de4b72 
    
    #删除所有容器
    docker rm $(sudo docker ps -a -q) 

    容器日志

    #查看指定时间后的日志,只显示最后100行:
    docker logs -f -t --since="2019-06-08" --tail=100 CONTAINER_ID
    
    #查看某时间之后的日志:
    docker logs -t --since="2019-06-08" CONTAINER_ID
    
    #查看某时间段日志:
    docker logs -t --since="2019-06-08" --until "2019-06-09" CONTAINER_ID
    
    #查看最近30分钟的日志:
    docker logs --since 30m CONTAINER_ID
  • 相关阅读:
    IIS7中的几种身份鉴别方式(一)Basic身份验证
    IIS7中的几种身份鉴别方式(二)集成身份验证
    java集合
    SharePoint 2010中welcome page的设置细节
    SharePoint中使用Linq出现未将对象引用到实例化的解决方法
    SharePoint 2010中关于An error was encountered while retrieving the user profile的处理方式记录
    The Need for an Architectural Body of Knowledge
    The Softer Side of the Architect
    Event Receivers 学习小结
    使用SmtpClient发送带图片的邮件的代码实现
  • 原文地址:https://www.cnblogs.com/songl/p/11128012.html
Copyright © 2011-2022 走看看