docker发布netcore网站-零散记录

安装docker

  1. 安装Linux,使用云服务器或者虚拟机 参考:http://www.cnblogs.com/wangjieguang/p/hyper-v-ubuntu.html
  2. 系统更新 sudo apt-get update
  3. 使用阿里云的镜像安装docker客户端:https://cr.console.aliyun.com/#/accelerator
    图片
  4. 查看版本
    图片
  5. 安装core镜像 sudo docker pull microsoft/dotnet
  6. 运行容器sudo docker run -it --rm microsoft/dotnet
  7. 克隆仓库代码到本地,并将主机复制到容器中 sudo docker cp ./代码目录/ 容器ID:/
  8. 进入容器:sudo docker attach 容器ID,进入输出目录执行还原:dotnet restore,运行dotnet run

Linux 安装 Core SDK进行开发

  1. Ubuntu 16.04 https://www.microsoft.com/net/core#linuxubuntu
sudo sh -c 'echo "deb [arch=amd64] https://apt-mo.trafficmanager.net/repos/dotnet-release/ xenial main" > /etc/apt/sources.list.d/dotnetdev.list'
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 417A0893
sudo apt-get update
  1. 使用git拉取项目到本地

  2. 进入项目的输出目录

  3. dotnet restore
    可以设置下Nuget的镜像 http://www.cnblogs.com/cmt/p/nuget-mirror.html

  4. dotnet build
    这里遇到一个报错:/usr/share/dotnet/sdk/1.0.4/Sdks/Microsoft.NET.Sdk/build/Microsoft.NET.Sdk.DefaultItems.targets(188,5)
    解决方法:https://stackoverflow.com/questions/43325916/duplicate-content-items-were-included-the-net-sdk-includes-content-items-f
    在解决方案中对应的节点添加配置

        <PropertyGroup>
            <EnableDefaultContentItems>false</EnableDefaultContentItems>
        </PropertyGroup>
    

    多个类库项目发布在Linux下不会拷贝views文件夹,我将wwwroot文件夹的Content给删掉了。
    http://www.cnblogs.com/keepcodingforever/p/6698862.html

  5. dotnet run

  6. 测试 curl http://localhost:5000

  7. docker删除所有未运行容器
    sudo docker rm $(sudo docker ps -a -q)

  8. docker删除所有未打tag的镜像
    sudo docker rmi $(sudo docker images -q | awk '/^<none>/ { print $3 }')

  9. docker删除所有镜像
    docker rmi $(docker images -q)

  10. 运行容器:sudo docker run -d -p 8002:8080 meqacore

posted @ 2017-08-24 11:29  易墨  阅读(396)  评论(0编辑  收藏  举报
Fork me on GitHub