我是在本地安装的虚拟机

1.下载ubuntu18.0.4 iso镜像包

2.打开win10自带的Hyper-V管理器

3.创建新的虚拟机,引用ubuntu18.0.4 iso镜像包,一步步安装成功。

开始安装doker

  • 由于apt官方库里的docker版本可能比较旧,所以先卸载可能存在的旧版本:

    sudo apt-get remove docker docker-engine docker-ce docker.io
  • 更新apt包索引:
    sudo apt-get update
  • 安装以下包以使apt可以通过HTTPS使用存储库(repository):
    sudo apt-get install -y apt-transport-https ca-certificates curl software-properties-common
  • 添加Docker官方的GPG密钥:
    curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
  • 这个时间点(2018.06.09),Ubuntu 18.04 LTS (Bionic Beaver) 对应的docker package is not available,所以只能通过下面的语句安装stable存储库
    add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu artful stable" 

    不能使用下面的语句,我就踩了很多坑,很多博客都推荐下面的语句,这样就会导出docker-ce安装不上

    sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
  • 再更新一下apt包索引:
    sudo apt-get update
  • 安装最新版本的Docker CE:
    sudo apt-get install -y docker-ce
  • 这里安装的最新版,其实是安装你电脑上可用的最新版,查看系统可用的版本:
    apt-cache madison docker-ce

  • 选择要安装的特定版本,第二列是版本字符串,第三列是存储库名称,它指示包来自哪个存储库,以及扩展它的稳定性级别。要安装一个特定的版本,将版本字符串附加到包名中,并通过等号(=)分隔它们:
    sudo apt-get install docker-ce=<VERSION>

    验证docker

  • 查看docker服务是否启动:
    systemctl status docker
  • 若未启动,则启动docker服务:
    sudo systemctl start docker
  • 测试经典的hello world:
    sudo docker run hello-world

 dotnetcore项目部署docker

准备工作:首先记录接下来可能会用到的几个常用命令

sudo docker pull microsoft/dotnet    //从docker仓库拉取一个名称为“microsoft/dotnet”的镜像

sudo docker build light    //构建一个名称为light的容器

sudo docker run hello-world    //运行hello-world容器

sudo docker images    //查看所有镜像

sudo docker rmi 63sf86332e    //删除一个imageid的镜像

sudo docker rmi $(docker images -q)    //删除所有镜像

sudo docker ps -a    //查看所有容器

sudo docker rm 6f0c67de4b72    //删除一个containerid的容器

sudo docker rm $(sudo docker ps -a -q)   //删除所有容器

1、拉取dotnet-sdk的最新镜像,速度慢的话请自行搜索daocloud docker hub加速。

sudo docker pull microsoft/dotnet:latest

完成之后查看一下镜像

sudo docker images

2、进入到这个镜像,查看版本没问题后创建一个控制台程序,然后运行并查看结果

sudo docker run -it  microsoft/dotnet  //每次run,都会重新构造出新的互不影响的容器,请自行查看

dotnet --version

mkdir test

cd test

dotnet new

 

3、获取dotnetcore项目发布文件,默认生成publish文件夹,文件夹可以自行修改, 创建Dockerfile文件,并将其配置成以下内容,最后把Dockerfile文件放到pubkish文件夹里面

FROM microsoft/dotnet
WORKDIR /app
COPY ./publish .
ENTRYPOINT ["dotnet", "Edensoft.ComputerStorage.Web.dll"]

4、切换到Dockerfile所在的目录下,并执行构建命令,成功之后会有下图的提示

sudo docker build -t storageweb:1.0 .  //注意后边还有一个点呢

5、运行刚才构建成功,名字为storageweb的容器,直接绑定服务器的9025端口

sudo docker run --name storageweb  -p 9025:9025 -e "ASPNETCORE_URLS=http://+:9025" -d storageweb:1.0

 

ubuntu安装docker,docker部署dotnetcore2.0 web应用(三)的更多相关文章

  1. docker + nginx 部署vuejs3.0项目

    1:用指令 npm run build 打包vusjs项目(该项目是在github上下载的).打包成功后会生成一个目录dist. 2:把该文件夹拷贝到腾讯云服务器(操作系统 centos7)下的/us ...

  2. Docker:部署PXC8.0集群时,启动容器报错New joining cluster node didn‘t find all needed SSL artifacts

    使用docker部署mysql PXC集群8.0版本,启动第二个节点的时候遇到报错,New joining cluster node didn't find all needed SSL artifa ...

  3. ubuntu安装最新的rails-4.2.0

    完全按照教程来,可是错误不断,还是边装边baidu吧! sudo gem install rails 安装了一大坨关联gem之后,终于好了.于是想小试一下身手,新建文件夹rails_test,cd进入 ...

  4. ubuntu 安装cuda 9.1 pytorch 0.3.0

    毕业再没用配过机器学习的环境了,既亲切又陌生,久违了. 系统 mint18  x64 1安装cuda 按官网提示 选的9.1版  https://developer.nvidia.com/cuda-t ...

  5. ubuntu 安装最新的python3.7.0

    原文:https://www.cnblogs.com/ningvsban/p/4384995.html 1. 安装pyenv git clone git://github.com/yyuu/pyenv ...

  6. 一、docker 入坑(win10和Ubuntu 安装)

    前言 终究还是绕不过去了,要学的知识真的是太多了,好在我们还有时间,docker 之前只闻其声,不曾真正的接触过,现在docker 越来越火,很多公司也都开始使用了.所以对于我们程序员而言,又得修炼一 ...

  7. Ubuntu & GitLab CI & Docker & ASP.NET Core 2.0 自动化发布和部署(2)

    上一篇:Ubuntu & GitLab CI & Docker & ASP.NET Core 2.0 自动化发布和部署(1) 服务器版本 Ubuntu 16.04 LTS. 本 ...

  8. Ubuntu中安装jenkins+docker,实现项目部署

    本人对于linux系统是个小白,恰逢公司新框架需要docker+jenkins部署项目,所以通过同事口述+一顿乱查,终于实现在虚拟机上搭建的ubuntu系统中 实现jenkins +docker 自动 ...

  9. .net core 微服务架构-docker的部署-包括网关服务(Ocelot)+认证服务(IdentityServer4)+应用服务(asp.net core web api)

    本文主要介绍通过Docker来部署通过.Net Core开发的微服务架构,部署的微服务主要包括统一网关(使用Ocelot开发).统一认证(IdentityServer4).应用服务(asp.net c ...

随机推荐

  1. 【CS Round #48 (Div. 2 only)】Game of Chance

    [链接]h在这里写链接 [题意] 在这里写题意 [题解] 在这里写题解 [错的次数] 0 [反思] 在这了写反思 [代码] #include <bits/stdc++.h> using n ...

  2. 写PPT的先扬后抑的思路

    近期给一个客户做IT战略规划. 基本结束了,客户要求写点有高度的东西.我想也是,尽管眼下的PPT也触及到战略和行业的问题,可是没有总结出来.于是就挖空心思,琢磨了三天.写了4页PPT.改动了几遍.还算 ...

  3. js闭包作用(避免使用全局变量)

    js闭包作用(避免使用全局变量) 一.总结 1.优点::可以把局部变量驻留在内存中,可以避免使用全局变量; 2.缺点:也有占用更多内存的缺点,用完要及时让垃圾回收器回收  fn=null //应及时解 ...

  4. 设计模式--单例模式之Lock

    1.为什么用Lock及关键知识 当我们使用线程的时候,效率最高的方式当然是异步,即个个线程同时运行,其间互不依赖和等待.当不同的线程都需要访问某个资源的时候,就需要同步机制了,也就是说当对同一个资源进 ...

  5. anaconda中实现双spyder版本

    1)先在conda中创建一个名为python2的环境,并下载对应版本python2.7 conda create --name python27 python=2.7 2)激活python2环境 ac ...

  6. hadoop容灾能力测试 分类: A1_HADOOP 2015-03-02 09:38 291人阅读 评论(0) 收藏

    实验简单来讲就是 1. put 一个600M文件,分散3个replica x 9个block 共18个blocks到4个datanode 2. 我关掉了两个datanode,使得大部分的block只在 ...

  7. POJ 1258 Agri-Net|| POJ 2485 Highways MST

    POJ 1258 Agri-Net http://poj.org/problem?id=1258 水题. 题目就是让你求MST,连矩阵都给你了. prim版 #include<cstdio> ...

  8. (二)RabbitMQ消息队列-RabbitMQ消息队列架构与基本概念

    原文:(二)RabbitMQ消息队列-RabbitMQ消息队列架构与基本概念 没错我还是没有讲怎么安装和写一个HelloWord,不过快了,这一章我们先了解下RabbitMQ的基本概念. Rabbit ...

  9. Android 各个版本号WebView

    转载请注明出处   http://blog.csdn.net/typename/ powered by miechal zhao : miechalzhao@gmail.com 前言: 依据Googl ...

  10. iOS开发webView的使用一

    #import "ViewController.h" @interface ViewController () @property (weak, nonatomic) IBOutl ...