1 Docker基础知识

  1.1 什么是Docker

    Docker是一个可以装应用的容器,就像杯子可以装水、书包可以装书一样;docker官网

    Docker是Docker公司开发的,并开源到GitHub上;

    Docker是跨平台的,支持windows、linux、Macos

  1.2 Docker思想

    1.2.1 集装箱

      需要运行的程序放到一个集装箱中

    1.2.2 标准化

      运输方式

      存储方式

      API接口

    1.2.3 隔离

  1.3 Docker解决了什么问题

    1.3.1 解决运行环境不一致问题

       解决了本地可以运行但是上线就出现问题

    1.3.2 应用之间的隔离

      当一台服务器同时运行多个应用时,有可能会因为一个应用出现问题而牵扯到其他应用的运行;docker化的应用会给每个应用进行隔离,某个应用出现问题后不会影响其他的应用

    1.3.3 简化应用的扩展

      当需要大量扩展应用程序的部署时,利用docker可以轻松实现;例如:双十一应用的扩展

  1.4 Docker核心技术

    Docker运行程序的过程:利用命令从仓库拉取一个镜像到本地 -> 利用命令将镜像变成容器 -> 利用命令运行容器

    build : 构建镜像

    ship : 运输镜像,从仓库把需要的镜像运输到某台服务器(即:从仓库中获取镜像)

    run : 运行的进行(就是一个正在运行的容器)

    1.4.1 镜像(集装箱)

      就行就是一系列的文件,可以是应用文件,也可以是运行应用需要的环境文件;Docker会把这些文件保存到本地,存储方式采用Linux中的联合文件系统的分层概念方式(即:将不同目录下的文件挂载到同一个目录下)。

      镜像可以用来创建Docker容器的。一个镜像可以包含一个完整的操作系统环境和用户需要的其它应用程序。在docker hub 里面有大量现成的镜像提供下载。docker的镜像是只可读的,一个镜像可以创建多个容器,每个容器之间相互不干扰。

      镜像由下到上每层的具体说明为:

        操作系统的引导

        具体的Linux操作系统

        相关软件:tomcat、jdk等

        应用代码

        顶层为可写层(属于容器)   

      说明:docker加载完每层后,所有文件都会被视为放在同一个目录【相当于所有文件都放在一个文件系统中,docker的这个文件系统就叫作容器】

    1.4.2 仓库(超级码头)  

      就是存放镜像的远程仓库

      官方仓库国内仓库

    1.4.3 容器(运行程序的地方)      

      Docker利用容器来开发、运行应用容器是镜像创建的实例。它可以被启动、开始、停止、删除。每个容器都是 相互隔离的、保证安全的平台。

  电风扇

2 安装

  2.1 windows安装

    2.1.1 下载Docker for Developers

    2.1.2 启动Docker Quickstart Termina时遇到的坑

      说明01:非windows10用户需要下载docker toolbox 来安装docker

      说明02:安装完 docker toolbox 后会在桌面出现三个图标

      坑01:启动Docker Quickstart Terminal时会提示找不到git执行路径

      解坑02:右键Docker Quickstart Terminal -> 属性 -> 快捷方式 -> 目标 -> D:\PTool\Git\bin\bash.exe --login -i "H:\docker\Docker Toolbox\start.sh"

      坑02:第一启动Docker Quickstart Terminal时需要下载一个boot2docker文件,非常慢

      解坑02:利用迅雷下载(从第一次启动Docker Quickstart Terminal时可以获取到boot2docker文件的下载url),并将下载好的文件放到 C:\Users\a\.docker\machine\cache 下即可;然后再次启动

      说明03:启动 Docker Quickstart Terminal 成功后,可以利用Docker Version来查看docker的客户端和服务端信息

3 Docker实战

  3.1 Docker的Hello World

    docker pull  -> 拉取镜像

    docker images -> 查看镜像列表信息

    docker ps -> 查看正在运行的容器信息

    docker run -> 运行镜像

  3.2 Nginx

    3.2.1 nginx容器的特点

      是一个持久运行的容器

      最好选择后台运行

      进入容器内部

    3.2.2 具体步骤

      》到镜像中心去查看nginx

      》拉取nginx镜像

docker pull hub.c..com/library/nginx:latest

      》前台运行nginx容器(前台启动直接利用ctrl + c就可以停掉)

 docker run hub.c..com/library/nginx

      》后台运行nginx容器  

 docker run -d hub.c..com/library/nginx

      》关闭nginx容器

docker stop 244c59f1c7f7

      》进入nginx容器内部

        使用命令 dokcer exec

        可以通过 docker exec --help 查看该命令的一些信息

docker exec -i -t b42516a87c12 bash

        说明:进入容器后就相当于进入了一个linux系统,可以通过exit命令退出

      》访问容器中的nginx

        网络类型:Bridge(docker的默认模式)、Host、None

        端口映射

$ docker run -d -p : hub.c..com/library/nginx

      坑01:IP问题

     

未完待续...2018年11月11日16:59:14

    

      

Docker03 Docker基础知识、Docker实战的更多相关文章

  1. Docker 基础知识 - Docker 概述

    Docker 是一个开发.发布和运行应用程序的开放平台.Docker使您能够将应用程序与基础架构分离,以便快速交付软件.有了 Docker,你可以像管理应用程序一样管理你的基础设施.通过利用 Dock ...

  2. PJzhang:docker基础知识的2个疗程-one

    猫宁!!! 参考:http://virtual.51cto.com/art/201805/572135.htm https://www.cnblogs.com/rkit/p/9237696.html ...

  3. docker 基础知识分享ppt

    给团队做的docker基础分享ppt, 见下面的附件. https://files.cnblogs.com/files/harrychinese/docker_intro.pptx

  4. 史上最全docker基础知识汇总

    正文 Docker常用命令 run docker run [OPTIONS] IMAGE [COMMAND] [ARG...] -e设置环境变量:-e username=zhj --name为容器指定 ...

  5. docker学习---docker基础知识

    目录 docker的基础 1.安装docker 2.使用镜像 3.镜像迁移|导入和导出 4.docker Hub介绍 5.搭建私有镜像仓库 5.1.docker开源的镜像分发工具--docker Re ...

  6. docker基础知识普及(一)

    背景 这篇内容是之前给部门同事培训时写的文档,旨在传达一些docker相关概念,有个基本印象,当然,以下内容都来自网络,我只是个搬运工.具体操作在下篇文章中 一.什么是docker? 1. Docke ...

  7. Docker基础知识及入门

    什么是Docker? Docker是由dotcloud公司使用golang语言进行开发的,基于Linux内核的 cgroup,namespace,以及OverlayFS类的Union FS等技术,对进 ...

  8. 容器技术学习系列(一)-Docker基础知识学习

    一.概述 1.Docker是什么? 1)Docker是世界领先的软件容器化平台 2)Docker公司开发,开源,托管在github 3)跨平台,支持Windows.MacOS.Linux 2.Dock ...

  9. 『现学现忘』Docker基础 — 35、实战:自定义CentOS镜像

    目录 1.前提说明 2.编写Dockerfile文件 3.构建镜像 4.运行镜像 5.列出镜像的变更历史 1)目标:自定义镜像wokong_centos. 2)所用到的保留字指令: FROM:基础镜像 ...

随机推荐

  1. BZOJ1590:[Usaco2008 Dec]Secret Message秘密信息

    浅谈\(Trie\):https://www.cnblogs.com/AKMer/p/10444829.html 题目传送门:https://lydsy.com/JudgeOnline/problem ...

  2. JVM内存管理之GC算法精解(复制算法与标记/整理算法)

    本次LZ和各位分享GC最后两种算法,复制算法以及标记/整理算法.上一章在讲解标记/清除算法时已经提到过,这两种算法都是在此基础上演化而来的,究竟这两种算法优化了之前标记/清除算法的哪些问题呢? 复制算 ...

  3. GOF23设计模式之代理模式(proxy)

    一.代理模式概述 1.代理模式的核心作用 (1)通过代理,控制对象的访问: (2)可以详细的控制访问某个(某类)对象的方法,在调用这个方法前做前置处理,调用这个方法后做后置处理.(AOP的微实现)   ...

  4. Nginx.PHP配置Smarty

    下载http://smarty.net: 解压 -> 将 libs 文件夹重命名 smartyLibs -> 放置在自己服务器的 usr/local/lib/ 中 (/usr/local/ ...

  5. WindowsPhone自定义控件详解(二) - 模板类库分析

    转自:http://blog.csdn.net/mr_raptor/article/details/7251948 WindowsPhone自定义控件详解(一) - 控件类库分析 上一节主要分析了控件 ...

  6. 【UVALive】3695 Distant Galaxy(......)

    题目 传送门:QWQ 分析 好喵啊~~~~ 不会做 正解看蓝书P53吧 代码 #include <cstdio> #include <algorithm> using name ...

  7. Windows远程桌面连接CentOS 7

    1. 安装tigervnc-server yum install tigervnc-server 2. 设置vncserver服务器 将默认提供的文件复制到/etc/systemd/system,命令 ...

  8. ASP.NET MVC5入门指南

    1.创建项目 文件 --> 新建 --> 项目 Visual C# --> Web --> ASP.NET Web应用程序 MVC此时处于选中状态,勾选“添加单元测试”(可选择 ...

  9. cookie加密

    Cookie中的数据以文本的形式存在客户端计算机,考虑它的安全性,最好在将数据存入Cookie之前对其进行加密. 加密的方法很多,比较简单一点的有:Base64,md5,sha等,而相对比较复杂一点的 ...

  10. ubuntu下安装和配置最新版JDK8傻瓜教程

    ubuntu下安装和配置最新版JDK8傻瓜教程 听语音 | 浏览:18940 | 更新:2014-07-14 22:13 | 标签:ubuntu 1 2 3 4 5 6 分步阅读 ubuntu系统通常 ...