DotNetCore2.1 下Docker使用的学习
【环节1:CentOS 安装Docker】
Step1:通过 uname -r 命令查看你当前的内核版本
uname -r
Step2:使用 root 权限登录 Centos。确保 yum 包更新到最新
sudo yum update
Step3:卸载旧版本(如果安装过旧版本的话)
sudo yum remove docker docker-common docker-selinux docker-engine
Step4:安装需要的软件包, yum-util 提供yum-config-manager功能,另外两个是devicemapper驱动依赖的
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
Step5:设置yum源
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
Step6:查看所有仓库中所有docker版本,并选择特定版本安装
yum list docker-ce --showduplicates | sort -r
Step7:安装docker
sudo yum install docker-ce #由于repo中默认只开启stable仓库,故这里安装的是最新稳定版17.12.0
Step8 启动并加入开机启动
sudo systemctl start docker
sudo systemctl enable docker
Step9:验证安装是否成功(有client和service两部分表示docker安装启动都成功了)
docker version
注:(因为之前已经安装过旧版本的docker,在安装的时候报错如下:)
卸载旧版本的包 $ sudo yum erase docker-common-2:1.12.6-68.gitec8512b.el7.centos.x86_64
再次安装docker $ sudo yum install docker-ce
【环节2:Vs2017中Dotnetcore发布与镜像推送】
Step1:安装docker,同时注册你的账号
https://www.docker.com/products/docker-desktop
Step2:安装docker后再状态栏小图标处右键菜单点击Kitematic 提示下载
Step3:下载成功后将文件解压放到与Docker安装目录同级的地方,然后进行Step2就可以管理你看到的容器或创建新的容器
Step4:创建core2 MVC的Demo项目或正式项目并在项目创建好后再解决方案右键->新增Dock支持
说明:需要你在电脑提前安装好Hyper-v 虚拟及管理器
Step5: 尝试按照Docker方式运行
Step6:对解决方案进行发布,发布成功后复制publish到一个新的文件夹中 并在与publish同级目录中创建名为Dockerfile的文件
文件内容如下:
#微软提供的容器镜像,提供了已经集成好Dotnet Core运行所需环境的Docker Image
FROM microsoft/dotnet:latest
#容器中的工作目录
WORKDIR /root
#Copy the app file to root
COPY publish /root/
#Configure the listening port to 9100
EXPOSE 9100/tcp
# Start the app
ENTRYPOINT dotnet Core2Demo.dll #Core2Demo.dll 程序入口
【环节3:通过powershell创建镜像并推向镜像以及获取镜像】
Step1: 打开Powershell,可以直接找powershell 也可以通过Docker的 Kitematic打开(在窗口的左下角)
Step2:以下命令介绍(同样适用于CentOS 命令行)
a. docker ps -a #查看所有容器
b. docker images #查看所有镜像
c. docker build -t demo-netcore . #创建镜像,其中 demo-netcore是创建镜像的名称,这个命令会,根据当前目录下dockerfile配置文件,进行打包
d. docker run --name demo -p 8080:80 demo-netcore:latest #运行容器
f.docker rm $(docker ps -a -q) #删除所有容器
g.docker rmi 镜像ID #删除制定容器
Step3:在powershell中定位到环节2中Step6中发布文件所在目录,并使用 docker build -t demo-netcore . 创建镜像
Step4:通过docker images 查看所有镜像,并适用命令 docker tag 命令重命名镜像 例如 docker tag 镜像ID 你的docker账户/新的名称
Step5: 推送镜像,使用 “docker push 镜像名称” 命令进行推送
Step6:进入CentOS系统 通过命令获取镜像,命令:docker pull 镜像名称
Step7:获取完成后,运行容器中镜像,命令:docker run --name demo -p 8080:80 demo-netcore:latest #8080:80 指将容器内部端口映射到8080端口,此时可以使用linux的ip:8080可以访问了
【说明】
环节3中的内容即推送和拉去工作也可以使用另一种方式:将发布好的程序复制到linux中 并通过命令创建容器以及镜像来运行
DotNetCore2.1 下Docker使用的学习的更多相关文章
- Windows 下 Docker 的简单学习使用过程之一 dockertoolbox
1. Windows 下面运行 Docker 的两个主要工具1): Docker for Windows2): DockerToolbox区别:Docker For Windows 可以理解为是新一代 ...
- Windows 下 Docker 的简单学习使用过程之三 创建images 导出images
1. 创建images 主要有两种方法, 一种是docker commit 一种是docker build 其中有一个很明显的区别: docker commit 是将运行状态的虚拟机 进行 生成ima ...
- Windows 下 Docker 的简单学习使用过程之二 Docker For windows
1. Docker For windows 最新版也支持到了 docker ce 18.06 (这个博客的编写时间是 2018.8.17 当时是最新的) 2. 下载安装. 大概500m 左右的安装文件 ...
- 【原创】docker在Ubuntu下1小时快速学习
前言 由于工作原因,很多情况下需要快速学习新的知识,针对docker如果从头到尾看相关书籍学习会非常慢,所以整理了下docker的常用操作,只要跟着本文学习操作,一小时就能掌握docker大部最常用分 ...
- Mac 下 docker安装
http://www.th7.cn/system/mac/201405/56653.shtml Mac 下 docker安装 以及 处理错误Cannot connect to the Docker d ...
- docker命令行学习
docker命令行学习 docker run docker run --help:老实说这条最管用了 docker run -it:交互模式,允许控制台输出 docker run -d:detach, ...
- Docker虚拟化实战学习——基础篇(转)
Docker虚拟化实战学习——基础篇 2018年05月26日 02:17:24 北纬34度停留 阅读数:773更多 个人分类: Docker Docker虚拟化实战和企业案例演练 深入剖析虚拟化技 ...
- [Go语言]从Docker源码学习Go——结构和函数的定义
Docker在最近很火,而作为Docker的开发语言-Go也再次被大家提到. 已经使用Docker一段时间了,但是对于源码,尤其是其开发语言Go却一直是一知半解. 最近准备利用空余时间从Docker源 ...
- docker数据卷学习-利用数据卷实现mysql的快速恢复和迁移
docker数据卷学习 一 新建带有数据卷的容器 1.从docker hub下载centos7镜像 # docker pull centos 2. 创建container # docker run - ...
随机推荐
- [MST] Store Store in Local Storage
For an optimal user and developer experience, storing state in local storage is often a must. In thi ...
- [Transducer] Make an Into Helper to Remove Boilerplate and Simplify our Transduce API
Our transduce function is powerful but requires a lot of boilerplate. It would be nice if we had a w ...
- oracle仿全文检索切词机制实现文本信息类似度查找
应用场景: 依据keyword查询与此keyword相似的信息,当中一些keyword要排除掉比如:"有限公司"."有限责任公司"."股份有限公司&q ...
- hdu-2871
#include<iostream> #include<cstdio> #include<cstring> #include<algorithm> #i ...
- 51nod-1322: 关于树的函数
[传送门:51nod-1322] 简要题意: 给出n个点的两棵无根树,编号都是从0到n-1 现在每棵树任意选出一条边割断,设第一棵树选出的边为e1,第二棵树选出的边为e2 很显然割断后两棵树各分成了四 ...
- 转载-让PIP源使用国内镜像,提升下载速度和安装成功率
让PIP源使用国内镜像,提升下载速度和安装成功率. 对于Python开发用户来讲,PIP安装软件包是家常便饭.但国外的源下载速度实在太慢,浪费时间.而且经常出现下载后安装出错问题.所以把PIP安装源替 ...
- hpuoj--校赛--2015年的第一场雪(暴力)
问题 D: 感恩节KK专场--2015年的第一场雪 时间限制: 1 Sec 内存限制: 128 MB 提交: 865 解决: 76 [提交][状态][讨论版] 题目描述 下雪了,KK学长站在三教门 ...
- .NET简谈——跨进高级编程门槛的必经之路
我们继续C#基础知识的学习,这篇文章对前面基础知识学习的朋友有着举足轻重的作用:为了延续基础知识学习的热情,我编写了这篇特殊的文章. 本篇文章的中心是想借“.NET简谈反射(动态调用)”一文继续发挥下 ...
- PostgreSQL Replication之第七章 理解Linux高可用(4)
7.4 术语与概念 一组计算机被称为集群.集群内的一台计算机被称为一个节点. 当集群内的节点数量是 N (2,,3,等.) ,那么我们讨论一个N节点的集群. 高可用性软件,传输层和集群管理层都运行于每 ...
- iview中键盘上下左右事件的方法
document.addEventListener('keydown', function(e){ var keyCode = e.keyCode; // Esc slide-up ) { e.pre ...