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 ...
随机推荐
- Altium Designer如何创建类,如何修改线宽
如果线宽还是没有改变,就是因为,有一个默认的class,它的规则优先级要高于PWR
- [Nuxt] Use Vuex Actions to Delete Data from APIs in Nuxt and Vue.js
You'll begin to notice as you build out your actions in Vuex, many of them will look quite similar. ...
- 【u121】教主的花园
Time Limit: 1 second Memory Limit: 128 MB [问题描述] 教主有着一个环形的花园,他想在花园周围均匀地种上n棵树,但是教主花园的土壤很特别,每个位置适合种的树都 ...
- 利用函数的惰性载入提高 javascript 代码性能
在 javascript 代码中,因为各浏览器之间的行为的差异,我们经常会在函数中包含了大量的 if 语句,以检查浏览器特性,解决不同浏览器的兼容问题.例如,我们最常见的为 dom 节点添加事件的函数 ...
- [RxJS] Flatten a higher order observable with mergeAll in RxJS
Among RxJS flattening operators, switch is the most commonly used operator. However, it is important ...
- js进阶 11-12 jquery如何实现节点的删除和复制
js进阶 11-12 jquery如何实现节点的删除和复制 一.总结 一句话总结:remove().detach().empty()方法 1.jquery删除节点中的remove()方法和detac ...
- ag
https://github.com/k-takata/the_silver_searcher-win32/releases http://betterthanack.com/https://gith ...
- JAVA生成二维码并转化为二进制在页面展示
引用jar包: zxing的core包,下载路径可参考:http://download.csdn.net/detail/sxg0205/9461106 java代码: 引用包: import java ...
- AE中网络分析的实现 的各个类之间的关系
原文AE中网络分析的实现 的各个类之间的关系 1. 创建网络数据集 在ArcCatalog中勾选网络分析模块,新建个人地理信息数据库—>新建要素数据集—>批量导入要素—>创建 ...
- UE4的JSON读写方式<二>
声明:所有权利保留. 转载必须说明出处:http://blog.csdn.net/cartzhang/article/details/43794409 Json的Writer博客地址: http:// ...