Docker学习 3月.

Slides:



Advertisements
Similar presentations
LSF系统介绍 张焕杰 中国科学技术大学网络信息中心
Advertisements

用于Windows Server迁移的Dell ChangeBASE
Oracle数据库 Oracle 子程序.
何娜 求职经验交流 何娜
中青国信科技(北京)有限公司 空间域名邮局价格表.
在PHP和MYSQL中实现完美的中文显示
J2EE与中间件技术 ——Lab.
Android App 系統開發教學 Luna 陳雯琳 2014/12/18
第2章 大数据处理架构Hadoop (PPT版本号:2017年2月版本)
Kvm异步缺页中断 浙江大学计算机体系结构实验室 徐浩.
LSF系统介绍 张焕杰 中国科学技术大学网络信息中心
Android开发入门 -----Android 开发“Ready go!” 主讲:李晓蕾
AngularJS -- 使用AngularJS进行开发
第二讲 搭建Java Web开发环境 主讲人:孙娜
Docker简介及与OpenStack集成
学习目标 1、Linux(这里用的是Centos)下mysql5.7的基本安装 2、课后习题.
学习前的准备工作 讲师:burning.
SOA – Experiment 3: Web Services Composition Challenge
大学计算机基础 典型案例之一 构建FPT服务器.
SVN服务器的搭建(Windows) 柳峰
SQL Injection.
Jul 2014 HEAT部署Hadoop集群
网络常用常用命令 课件制作人:谢希仁.
第11章:一些著名开源软件介绍 第12章:服务安装和配置 本章教学目标: 了解当前一些应用最广泛的开源软件项目 搭建一个网站服务器
大数据管理技术 --NoSQL数据库 HBase 陈 辉 大数据分析技术.
DM81X 视频采集处理 ——简单采集显示例程讲解 广州创龙电子科技有限公司
PostgreSQL 8.3 安装要点 四川大学计算机学院 段 磊
第一单元 初识C程序与C程序开发平台搭建 ---观其大略
Windows网络操作系统管理 ——Windows Server 2008 R2.
Windows网络操作系统管理 ——Windows Server 2008 R2.
第十章 IDL访问数据库 10.1 数据库与数据库访问 1、数据库 数据库中数据的组织由低到高分为四级:字段、记录、表、数据库四种。
第17章 网站发布.
逆向工程-汇编语言
PaPaPa项目架构 By:Listen 我在这.
ENS 10.1安装配置指南 王俊涛 | SE.
Linux核心編譯與模組管理 2013/01/19.
中国科学技术大学计算机系 陈香兰(0551- ) Spring 2009
Windows 7 的系统设置.
用event class 从input的root文件中,由DmpDataBuffer::ReadObject读取数据的问题
DevDays ’99 The aim of this mission is knowledge..
宁波市高校慕课联盟课程 与 进行交互 Linux 系统管理.
基于Docker的分布式服务研发实践 天云软件 葛林
程序设计工具实习 Software Program Tool
SOA – Experiment 2: Query Classification Web Service
黑快馬 RPAGE 厚德國小 資訊組 康家豪.
C语言程序设计 主讲教师:陆幼利.
Docker 分享
简单介绍 用C++实现简单的模板数据结构 ArrayList(数组, 类似std::vector)
Web安全基础教程
第四章 团队音乐会序幕: 团队协作平台的快速创建
VisComposer 2019/4/17.
Platform Builder使用介绍 WINCE系统应用开发流程说明 ACTION RDC 杨 涛 2005.Dec.3th
姚金宇 MIT SCHEME 使用说明 姚金宇
计算机网络与网页制作 Chapter 07:Dreamweaver CS5入门
教育部 财政部 网络教育数字化学习资源中心平台系统 安装与配置
3Glasses SDK for Unreal Engine Plugin
Web安全基础教程
JSP实用教程 清华大学出版社 第2章 JSP运行环境和开发环境 教学目标 教学重点 教学过程 2019年5月7日.
Touch Github = Touch the World
Python 环境搭建 基于Anaconda和VSCode.
C++语言程序设计 C++语言程序设计 第一章 C++语言概述 第十一组 C++语言程序设计.
Chinese Virtual Observatory
大数据应用人才培养系列教材 Python语言 刘 鹏 张 燕 总主编 李肖俊 主编 刘 河 钟 涛 副主编.
本节内容 进程 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群 : 联系电话:
第四章 UNIX文件系统.
FVX1100介绍 法视特(上海)图像科技有限公司 施 俊.
使用Fragment 本讲大纲: 1、创建Fragment 2、在Activity中添加Fragment
JUDDI安装手册.
百万行、千万行数据查询教程 老黄牛.
Primary introduction to docker
Presentation transcript:

Docker学习 3月

Docker 1.基础 2.安装 3.配置 4..net core应用

1.Docker基础 Docker 是一个开源的应用容器引擎,基于 Go 语言 Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中, 然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。 容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 app),更重 要的是容器性能开销极低。

1.Docker 基础 1、简化程序: Docker 让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行 的 Linux【目前windows也支持docker】 机器上,便可以实现虚拟化。Docker改变了虚拟化的方 式,使开发者可以直接将自己的成果放入Docker中进行管理。方便快捷已经是 Docker的最大优 势,过去需要用数天乃至数周的 任务,在Docker容器的处理下,只需要数秒就能完成。 2、避免选择恐惧症: 如果你有选择恐惧症,还是资深患者。Docker 帮你 打包你的纠结!比如 Docker 镜像;Docker 镜像中包含了运行环境和配置,所以 Docker 可以简化部署多种应用实例工作。比如 Web 应用、 后台应用、数据库应用、大数据应用比如 Hadoop 集群、消息队列等等都可以打包成一个镜像部 署。 3、节省开支: 一方面,云计算时代到来,使开发者不必为了追求效果而配置高额的硬件,Docker 改变了高性 能必然高价格的思维定势。Docker 与云的结合,让云空间得到更充分的利用。不仅解决了硬件 管理的问题,也改变了虚拟化的方式。

2安装 按照官方教程安装docker https://docs.docker.com/engine/installation/linux/docker-ce/centos/ 下面举例centos的安装,最好centos7.0以上版本 安装依赖的组件 sudo yum install -y yum-utils device-mapper-persistent-data lvm2 添加源 sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo 安装docker sudo yum install docker-ce

2安装  启动Docker sudo systemctl start docker #启动Docker sudo systemctl enable docker.service #设置Docker服务开机启动 运行hello-world镜像的容器 sudo docker run hello-world   #基于hello-world镜像创建一个容器 查看当前docker安装的镜像 docker images 查看当前正在运行的docker容器 docker ps

3.配置 运行docker镜像 docker run [OPTIONS] IMAGE [COMMAND] [ARG...] -d: 后台运行容器,并返回容器ID; --name="nginx-lb": 为容器指定一个名称 -m :设置容器使用内存最大值 网络连接 docker run -d -p 5000:5000 training/webapp python app.py 通过-p可以将容器端口映射到宿主端口

3.配置 Dockerfile详解 DockerFile分为四部分组成:基础镜像信息、维护者信息、镜像操作指令和容器启动时执行指令 #第一行必须指令基于的基础镜像 From ubutu #维护者信息 MAINTAINER docker_user docker_user@mail.com #镜像的操作指令 apt/sourcelist.list RUN apt-get update && apt-get install -y ngnix RUN echo "\ndaemon off;">>/etc/ngnix/nignix.conf #容器启动时执行指令 CMD /usr/sbin/ngnix

1、From指令 From 或者From : DockerFile第一条必须为From指令。如果同一个DockerFile创建多个镜像时,可使用多 个From指令(每个镜像一次) 2、MAINTAINER 格式为maintainer ,指定维护者的信息 3、RUN 格式为Run 或者Run [“executable” ,”Param1”, “param2”] 前者在shell终端上运行,即/bin/sh -C,后者使用exec运行。例如:RUN [“/bin/bash”, “-c”,”echo hello”] 每条run指令在当前基础镜像执行,并且提交新镜像。当命令比较长时,可以使用“/” 换行。

4、CMD指令 支持三种格式: CMD [“executable” ,”Param1”, “param2”]使用exec执行,推荐 CMD command param1 param2,在/bin/sh上执行 CMD [“Param1”, “param2”] 提供给ENTRYPOINT做默认参数。 每个容器只能执行一条CMD命令,多个CMD命令时,只最后一条被执行。 5、EXPOSE 格式为 EXPOSE […] 。 告诉Docker服务端容器暴露的端口号,供互联系统使用。在启动Docker时,可以通过 -P,主机会自动分配一个端口号转发到指定的端口。使用-P,则可以具体指定哪个本地 端口映射过来 例如: EXPOSE 22 80 8443 6、ENV 格式为 ENV 。 指定一个环境变量,会被后续 RUN 指令使用,并在容器运行时保持。

7、ADD 格式为 ADD 。 该命令将复制指定的 到容器中的 。 其中 可以是Dockerfile所在目录的一个相对路径; 也可以是一个URL;还可以是一个tar文件(自动解压为目录)。则。 8、COPY 格式为 COPY 。 复制本地主机的 (为Dockerfile所在目录的相对路径)到容器中的 。 当使用本地目录为源目录时,推荐使用 COPY 。 9、ENTRYPOINT 配置容器启动后执行的命令,并且不可被 docker run 提供的参数覆盖。 每个Dockerfile中只能有一个 ENTRYPOINT ,当指定多个时,只有最后一个起效。

创建镜像 创建镜像  通过Docker Build 创建镜像。  命令读取指定路径下(包括子目录)所有的Dockefile,并且把目录下所有内容发 送到服务端,由服务端创建镜像。另外可以通过创建.dockerignore文件(每一行 添加一个匹配模式)让docker忽略指定目录或者文件 格式为Docker Build [选项] 路径  需要制定标签信息,可以使用-t选项  例如:Dockerfile路径为 /tmp/docker_build/,生成镜像的标签为 build_repo/my_images  $dudo docker build -t build_repo/my_images /tmp/docker_build/

4..net core docker部署 1. 在服务上安装 微软提供的.netcore docker镜像 docker run -it microsoft/dotnet:latest -i :交互模式 (so we can interact with it) -t : 分配一个(伪)tty (link is external microsoft/dotnet:这是微软提供的Docker Core的官方Image名称, latest :表示我们使用这个版本的Image

编译自己的Image docker build -t [imagename] ./ -t : 给镜像打个tag(标签),类似于起个名字 docker run -it -p 8810:80 --name [containername] [imagename] -p :映射docker容器的端口,docker里面的9100端口映射到Linux的9100端口上 --name: 给我的container起个别名,这个可以不加

总结 1.Docker 2.DockerImange 3.DockerContianer

其他docker管理工具 Kubernetes Kubernetes是Google开源的容器集群管理系统,使用 Golang开发,其提供应用部署、维护、扩展机制等 功能,利用Kubernetes能方便地管理跨机器运行容器 化的应用,其主要功能如下: 使用Docker对应用程序包装(package)、实例化 (instantiate)、运行(run)。 以集群的方式运行、管理跨机器的容器。 解决Docker跨机器容器之间的通讯问题。 Kubernetes的自我修复机制使得容器集群总是运行在 用户期望的状态。