ubuntu安装docker,docker部署dotnetcore2.0 web应用(三)
我是在本地安装的虚拟机
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应用(三)的更多相关文章
- docker + nginx 部署vuejs3.0项目
1:用指令 npm run build 打包vusjs项目(该项目是在github上下载的).打包成功后会生成一个目录dist. 2:把该文件夹拷贝到腾讯云服务器(操作系统 centos7)下的/us ...
- 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 ...
- ubuntu安装最新的rails-4.2.0
完全按照教程来,可是错误不断,还是边装边baidu吧! sudo gem install rails 安装了一大坨关联gem之后,终于好了.于是想小试一下身手,新建文件夹rails_test,cd进入 ...
- ubuntu 安装cuda 9.1 pytorch 0.3.0
毕业再没用配过机器学习的环境了,既亲切又陌生,久违了. 系统 mint18 x64 1安装cuda 按官网提示 选的9.1版 https://developer.nvidia.com/cuda-t ...
- ubuntu 安装最新的python3.7.0
原文:https://www.cnblogs.com/ningvsban/p/4384995.html 1. 安装pyenv git clone git://github.com/yyuu/pyenv ...
- 一、docker 入坑(win10和Ubuntu 安装)
前言 终究还是绕不过去了,要学的知识真的是太多了,好在我们还有时间,docker 之前只闻其声,不曾真正的接触过,现在docker 越来越火,很多公司也都开始使用了.所以对于我们程序员而言,又得修炼一 ...
- Ubuntu & GitLab CI & Docker & ASP.NET Core 2.0 自动化发布和部署(2)
上一篇:Ubuntu & GitLab CI & Docker & ASP.NET Core 2.0 自动化发布和部署(1) 服务器版本 Ubuntu 16.04 LTS. 本 ...
- Ubuntu中安装jenkins+docker,实现项目部署
本人对于linux系统是个小白,恰逢公司新框架需要docker+jenkins部署项目,所以通过同事口述+一顿乱查,终于实现在虚拟机上搭建的ubuntu系统中 实现jenkins +docker 自动 ...
- .net core 微服务架构-docker的部署-包括网关服务(Ocelot)+认证服务(IdentityServer4)+应用服务(asp.net core web api)
本文主要介绍通过Docker来部署通过.Net Core开发的微服务架构,部署的微服务主要包括统一网关(使用Ocelot开发).统一认证(IdentityServer4).应用服务(asp.net c ...
随机推荐
- oracle 多行转多列查询
oracle 多行转多列查询 ---create table Fruit(id int,name varchar(20), Q1 int, Q2 int, Q3 int, Q4 int);inse ...
- 宏定义#define整理
一.宏定义#define 优点:一方面可以节省程序的空间上的篇幅,另外,恰当地使用宏定义可提高程序的时间效率.代码可以写的通俗易懂.可以提高程序的清晰性.可读性,使于修改移植等. 缺点:宏定义的使用实 ...
- Searching with regular sentences will only get you so far – if you need to find something a bit tricky turn to these advanced yet simple methods--转
原文地址:http://www.theguardian.com/technology/2016/jan/15/how-to-use-search-like-a-pro-10-tips-and-tric ...
- 从零开始使用git第三篇:git撤销操作、分支操作和常见冲突
从零开始使用git 第三篇:git撤销操作.分支操作和常见冲突 第一篇:从零开始使用git第一篇:下载安装配置 第二篇:从零开始使用git第二篇:git实践操作 第三篇:从零开始使用git第三篇:gi ...
- JMS服务器ActiveMQ的初体验并持久化消息到MySQL数据库中
JMS服务器ActiveMQ的初体验并持久化消息到MySQL数据库中 一.JMS的理解JMS(Java Message Service)是jcp组织02-03年定义了jsr914规范(http://j ...
- [RxJS] AsyncSubject: representing a computation that yields a final value
This lesson will teach you about AsyncSubject, another type of Subject with some replaying logic ins ...
- MySQL—Install/Remove of the Service Denied
在Windos7下通过命令"mysqld --install"安装MySQL数据库时出现了"Install/Remove of the Service Denied&qu ...
- 结合Wireshark捕获分组深入理解TCP/IP协议之IP协议
摘要: 本文简单介绍了网络层理论知识,详细讲解了IP数据报各个字段,并从Wireshark俘获分组中选取IP数据报进行分析,也阐述了分组和分片的区别. 一.IPv4数据报 网络层是 ...
- Android Studio SVN使用和VisualSVN-Server配置(图解)
转载请标明出处: http://blog.csdn.net/zq2114522/article/details/51078544: 本文出自:[梁大盛的博客] Android Studio SVN使用 ...
- [Node] Use babel-preset-env with Native Node Features and Also Use Babel Plugins
In this lesson we'll show how to setup a .babelrc file with presets and plugins. Then create npm scr ...