zoukankan      html  css  js  c++  java
  • Docker学习笔记-磁盘挂载运行.netcore

    前言:

    环境:centos7.5 64 位

    正文:

    首先我们在宿主机上安装 .NET Core SDK

    sudo rpm --import https://packages.microsoft.com/keys/microsoft.asc
    sudo sh -c 'echo -e "[packages-microsoft-com-prod]
    name=packages-microsoft-com-prod 
    baseurl= https://packages.microsoft.com/yumrepos/microsoft-rhel7.3-prod
    enabled=1
    gpgcheck=1
    gpgkey=https://packages.microsoft.com/keys/microsoft.asc" > /etc/yum.repos.d/dotnetdev.repo'
    sudo yum update
    sudo yum install libunwind libicu
    sudo yum install dotnet-sdk-2.2
    

    安装好之后,创建一个 .NET Core MVC的项目:

    cd $HOME
    mkdir demo
    cd demo
    #创建一个HelloDocker.Web的MVC项目
    dotnet new mvc -n HelloDocker.Web
    cd HelloDocker.Web
    dotnet run
    

    这个时候可能会报错,我一开始以为是IPV6的问题,后来发现并不是

    avatar

    vi Program.cs
    

    加一句这个就可以了

    avatar

    直接浏览器访问 http://IP:5000

    然后关掉
    这时访问不了 http://IP:5000

    挂载到容器中

    # `\`结合`Enter`键构成换行符,可以换行输入一个长命令。
    #-it以交互模式(进入容器内部)
    #-p参数端口映射
    #-v参数挂载宿主机的文件到容器的指定目录 $HOME/demo/HelloDocker.Web文件夹下的文件挂载到容器的app目录下。
    
    docker run -it 
    -p 5000:5000 
    -v $HOME/demo/HelloDocker.Web:/app 
    microsoft/dotnet:latest
    

    这一步可能会出错

    WARNING: IPv4 forwarding is disabled
    

    启用IPV4 IP的转发:

    检查当前值:

    /sbin/sysctl net.ipv4.conf.all.forwarding
    

    启用设置:

    /sbin/sysctl -w net.ipv4.conf.all.forwarding=1
    

    检查输出docker info:

    docker info
    

    再重新执行上面的长命令,不报错,已经进入容器内

    cd app
    dotnet run
    

    浏览器访问 http://IP:5000

    成功

    容器内部中的app目录下包含了宿主机上的源码项目。是以共享的形式,而不是宿主机的拷贝,在宿主机上对目录的更改会即时反应到容器中。但反过来,容器中对共享目录的更改不会反应到宿主机上,容器具有隔离特性。

  • 相关阅读:
    ubuntu c++ 关机 重启 挂起 API
    Java 并发 —— Java 标准库对并发的支持及 java.util.concurrent 包
    机器学习: Logistic Regression--python
    机器学习:朴素贝叶斯--python
    理解YOLOv2训练过程中输出参数含义
    darknet YOLO 编译使用GPU
    机器学习:决策树--python
    Xmodem通信协议实例
    MQTT协议笔记之连接和心跳
    Android实现推送方式解决方案
  • 原文地址:https://www.cnblogs.com/hanfan/p/10143959.html
Copyright © 2011-2022 走看看