Docker03 Docker基础知识、Docker实战

 

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.163.com/library/nginx:latest

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

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

      》后台运行nginx容器  

 docker run -d hub.c.163.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 8088:80 hub.c.163.com/library/nginx

      坑01:IP问题

     

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

    

      

 

转载于:https://www.cnblogs.com/NeverCtrl-C/p/9942592.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/265489.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Linux网络编程小知识(字节序、IP格式、函数、子网掩码、DNS域名解析代码实现)

参考:网络编程前的一些小知识–Linux笔记 作者:一只青木呀 发布时间: 2021-04-12 23:19:10 网址:https://blog.csdn.net/weixin_45309916/article/details/115560197 参考:DNS域名解析 作者:一只青木呀 发布…

ARM汇编基础详解(PS学习汇编的原因)

目录前言1.GNU 汇编语法2.Cortex-A7 常用汇编指令2.1 处理器内部数据传输指令(内部寄存器数据非内存数据)2.2 存储器访问指令(RAM)2.3 压栈和出栈指令(了解)2.4 跳转指令2.5 算术运算指令2.6 逻辑运算指令前…

ARM(IMX6U)裸机汇编LED驱动实验——驱动编写、编译链接起始地址、烧写bin文件到SD卡中并运行

参考:Linux之ARM(IMX6U)裸机汇编LED驱动实验–驱动编写 作者:一只青木呀 发布时间: 2020-08-07 09:13:48 网址:https://blog.csdn.net/weixin_45309916/article/details/107851318 参考:Linux之…

java 面试 概率论_编程培训-115个Java面试题和答案B.pdf

编程培训-115个Java面试题和答案B.pdf “玩转”Java系列 1 题目115个Java面试题和答案终极(下) 第一篇讨论了面向对象编程和它的特点,关于Java和它的功能的常见问题,Java的集合类, 垃圾收集器,本章主要讨论异常处理,Ja…

ARM(IMX6U)裸机之I.MX6ULL硬件启动方式的选择

参考:Linux之ARM(IMX6U)裸机之I.MX6ULL启动方式详解 作者:一只青木呀 发布时间: 2020-08-09 16:32:07 网址:https://blog.csdn.net/weixin_45309916/article/details/107891591 目录启动方式的选择①.串行下…

python 操作mongo

1.  导包: import pymongo 2.  建立连接 client pymongo.MongoClient("127.0.0.1",27017) 3.  获取数据库 db client["test1"] 4.  获取集合 col db["t2"] 5.  插入数据: col.insert_one({ name:aa , age:2 …

ARM(IMX6U)裸机之I.MX6ULL启动头文件详解(内部BOOT ROM、IVT + Boot data + DCD + led.bin)

参考:Linux之ARM(IMX6U)裸机之I.MX6ULL镜像烧写以及启动头文件的详解 作者:一只青木呀 发布时间: 2020-08-09 17:10:00 网址:https://blog.csdn.net/weixin_45309916/article/details/107895975 目录BOOT R…

(转)git遇到的问题之“Please make sure you have the correct access rights and the repository exists.”...

对于git的提交一直很小心翼翼,感觉一不小心就会踩到莫名的坑。 这不, 某天commit 就遇到了On branch master nothing to commit (working directory clean) 一查意思。你的分支很干净? 干净?excuse me? 然后git push …

ARM(IMX6U)裸机C语言版本LED驱动实验(汇编进入处理器SVC模式、SP堆内存、跳转main函数、链接起始地址)

参考:Linux之ARM(IMX6U)裸机C语言LED驱动实验–驱动编写,编译 作者:一只青木呀 发布时间: 2020-08-11 11:20:17 网址:https://blog.csdn.net/weixin_45309916/article/details/107930284 目录0.简介①、汇编…

IBM TS3200 Drive故障处理方案

一、故障定位1.1.故障信息截图摘要1.2.故障定位通过网线连接带库,进入Web管理模式从右边告警得到信息:Drive Broken Code :F3 02 SCD:5 ; Exception F3 52 –Error 经第二张图片定位,确认Drive 2故障需要更换一块Drive 模块此部件支持热插拔&…

链接脚本的编写( 起始地址、text、data、__bss_start、__bss_end、dis反汇编验证)

目录链接脚本的简介以及简单编写编写本试验的链接脚本链接脚本的简介以及简单编写 链接脚本描述了要链接的文件,以及链接顺序、链接首地址。 在博文ARM(IMX6U)裸机C语言版本LED驱动实验中,我们在编译过程中使用Makefile 来链接代…

java 无法加载资源,JavaScript:无法加载资源:服务器响应状态为404(未找到)

我处理 JavaScript 应用程序,该应用程序在 https://localhost:63342/WalletClient/index.html_ijtk4ock08pqsve8hb7b2b34ou3h5 的localhost地址中打开 . 看起来像这样,单击余额按钮时,它应执行以下 Ajax GET 请求并尝试打开新页面 balance.ht…

ARM(IMX6U)裸机模仿STM32驱动开发实验(定义外设结构体)

参考:Linux之ARM(IMX6U)裸机模仿STM32驱动开发格式 作者:一只青木呀 发布时间: 2020-08-15 12:11:56 网址:https://blog.csdn.net/weixin_45309916/article/details/108019447 目录0.外设结构体抽象思路1.模…

ARM(IMX6U)裸机官方SDK包使用

参考:Linux之ARM(IMX6U)裸机C语言LED驱动实验–驱动编写,编译 作者:一只青木呀 发布时间: 2020-08-11 11:20:17 网址:https://blog.csdn.net/weixin_45309916/article/details/107930284 目录1、I.MX6ULL 官…

Leaflet中添加的不同图层样式图标

如上图,具体问题请查看对应html页引用的basemaps的css样式。 如下图是本项目引用的css样式: .basemap img { width: 48px; border: 2px solid #FFF; margin: 0 2px; /*border-radius: 40px;*/ box-shadow: 0 1px 5px rgba(0,0,0,0.65)} 当css样式中的bor…

ARM(IMX6U)BSP工程文件管理(分文件编程)

参考:Linux之ARM(IMX6U)BSP工程管理实验 作者:一只青木呀 发布时间: 2020-08-15 23:41:37 网址:https://blog.csdn.net/weixin_45309916/article/details/108028093 目录1、工程管理简介1.1、创建bsp、imx6…

php图片视频,PHP中使用php5-ffmpeg撷取视频图片实例

前几天在玩 FFmpeg 的时后,突然发现 Ubuntu 上多了 php5-ffmpeg 这个扩充套件,就想来玩玩看,看好不好用,有两个结论:读取影片取决于 FFmpeg 的支援性,如果想要什么格式都支援的话,建议自己重新编…

ARM(IMX6U)裸机C语言蜂鸣器驱动实验(BSP+SDK)

参考:Linux之ARM(IMX6U)裸机C语言蜂鸣器驱动实验–驱动编写,编译 作者:一只青木呀 发布时间: 2020-08-16 14:47:23 网址:https://blog.csdn.net/weixin_45309916/article/details/108032168 目录1、有源蜂鸣…

java金字塔的流程图,R中的金字塔图

Plotrix可能更容易,但可以反汇编ggplot图表,并将它们排列为金字塔图 . 使用 eipi10的数据(谢谢),并调整drawing-pyramid-plot-using-r-and-ggplot2中的代码,我为"males","females"和"country…

ARM(IMX6U)裸机按键输入实验(BSP+SDK、GPIO输入与输出、按键消抖)

参考:Linux之ARM(IMX6U)裸机按键输入实验(GPIO的输出与输入) 作者:一只青木呀 发布时间: 2020-08-17 21:43:37 网址:https://blog.csdn.net/weixin_45309916/article/details/108057…