文档章节

Docker学习笔记之 一、helloword

黎明你好
 黎明你好
发布于 2017/08/28 16:18
字数 885
阅读 4
收藏 0
点赞 0
评论 0

1.1 介绍概念

Docker:

Docker是一个开源的引擎,可以轻松的为任何应用创建一个轻量级的、可移植的、自给自足的容器。开发者在笔记本上编译测试通过的容器可以批量地在生产环境中部署,包括VMs(虚拟机)、bare metal、OpenStack 集群和其他的基础应用平台。

  • Docker通常用于如下场景:
    • web应用的自动化打包和发布;
    • 自动化测试和持续集成、发布;
    • 在服务型环境中部署和调整数据库或其他的后台应用;
    • 从头编译或者扩展现有的OpenShift或Cloud Foundry平台来搭建自己的PaaS环境。

镜像:

Docker的镜像实际上由一层一层的文件系统组成,这种层级的文件系统就是UnionFS。在Docker镜像的最底层是bootfs。这一层与典型的Linux/Unix系统是一样的,包含boot加载器和内核。当boot加载完成之后整个内核就都在内存中了,此时内存的使用权已由bootfs转交给内核,此时系统也会卸载bootfs。Docker在bootfs之上的一层是rootfs(根文件系统)。rootfs就是各种不同的操作系统发行版,比如Ubuntu,Centos等等。

容器:

Docker的容器(container)其实就是一个进程的容器,而并不是一个全虚拟化的操作系统,所以他不会有什么init进程。docker将进程、进程所需要的操作系统、运行环境称为容器。所以它比传统的基于hypervisor的虚拟机拥有更高的效率,并使用更低的资源。它实际上是一个内核级别的虚拟化技术,容器还是在使用宿主机的内核。

仓库:

就是一个存储和共享镜像文件的地方。

1.2 不同操作系统上安装

  1. mac上

  2. centos上

  3. windows上

1.3 运行helloword

1.3.1 先搜索一个容器search

$ docker search nginx

搜索一个叫nginx的容器

1.3.2 下载这个容器pull

$ docker pull nginx

下载一个叫nginx的容器到本地。

1.3.3 运行一个容器出来run

a. 一次运行nginx这个容器,并查看nginx的版本号:

$ docker run nginx nginx -v

输入图片说明


b. 后台运行nginx这个容器,并绑定端口号:

$ docker run --name nginx-hello -d -p 88:80 nginx
  • 这里我们命名新的服务叫nginx-hello,并且映射到88端口,
  • -d 代表后台运行容器,并返回容器ID;
  • -p 传入绑定参数

输入图片说明 输入图片说明

1.3.4 修改运行的容器数据

a.首先查看一下正在运行的容器

$ docker ps

可以看见正在运行的容器列表: 输入图片说明

b.修改正在运行的这个nginx-hello的欢迎页面 首先以交互式终端方式进入nginx-hello, 并执行bash获取一个可操作的shell:

$ docker exec -it nginx-hello bash
$ echo 'hello docker nginx 88' > /usr/share/nginx/html/index.html
  • 这里-it这是两个参数,-i表示交互式操作,-t表示终端。
  • bash放在镜像名字后面是命令,我们运行一个交互式shell。然后使用echo命令,修改nginx的index.html页面的内容:

输入图片说明 输入图片说明

1.3.5 保存这个容器为镜像

我们把nginx的容器修改成了一个版本叫nginx-hello,可以查看他的变动信息:

$ docker diff nginx-hello

输入图片说明

现在把这个修改后进行保存

$ docker commit [这里是id] [这里是保存的名字]

输入图片说明

查看本地的镜像

$ docker images

输入图片说明

© 著作权归作者所有

共有 人打赏支持
黎明你好
粉丝 1
博文 16
码字总数 2187
作品 1
朝阳
程序员
Docker Compose笔记 02 安装笔记

我正在学习Docker容器技术,相关笔记汇总在Docker容器技术 学习笔记汇总 在Docker Compose笔记 01 基础介绍中已经介绍了Docker Compose,这节讲讲安装方法,比较简单,都在https://docs.dock...

iotisan ⋅ 2017/11/16 ⋅ 0

Docker容器技术 学习笔记汇总

“如果你不出去走走,你就会以为这就是全世界。” 一直在嵌入式领域,这次遇到Docker算是长了见识。刚好公司同事们对这块了解地不多,那就把Docker容器技术的学习梳理成系列笔记,让其他伙伴少...

iotisan ⋅ 2017/10/20 ⋅ 0

【Shiro】Shiro从小白到大神(一)-Shiro入门

本系列是我在学习Shiro的路上的笔记,第一篇是属于非常入门级别的。 首先是介绍了下shiro,然后进行了一个小例子进行实际的操作 本节操作不涉及数据库,只是文本字符操作认证 Shiro简介: 百度...

qq_26525215 ⋅ 2017/09/22 ⋅ 0

centos安装、卸载、升级docker

Docker学习笔记一之安装卸载 Docker 学习笔记 Docker 升级 安装: 1,可选....... 2,安装 删除: 第一步的列表中要反复用2去全部删除 升级(以升级到1.11.1为例): (二进制升级) 1,停止docke...

月夜筱风 ⋅ 2016/08/22 ⋅ 0

Docker实战 LoRaServerProject

我正在学习Docker容器技术,相关笔记汇总在Docker容器技术 学习笔记汇总 这篇文章将以我目前正在研究的 lora-server 项目为例,研究下 Docker 在具体项目的实战应用,感受下 Docker 的魅力。...

iotisan ⋅ 2017/10/31 ⋅ 0

docker学习2|在容器中部署nginx并保存、运行容器

点击上方“中兴开发者社区”,关注我们 每天读一篇一线开发者原创好文 ▎作者简介 作者朱磊是开源软件爱好者,致力于web应用部署、运维领域解决方案的研究。将web应用部署在Docker上能够极大...

o4dc8ojo7zl6 ⋅ 2017/12/13 ⋅ 0

Docker 学习笔记合集第一季 —— image container 基本操作

Docker 学习笔记合集第一季 —— image container 基本操作 Docker · chenhengjie123 · 于 1 年前发布 · 最后由 sanlengjingvv 于 1 年前回复 · 2262 次阅读 本帖已被设为精华帖! 学习 ...

小祁1124 ⋅ 2016/11/17 ⋅ 0

每天5分钟日记

第一天 近期的目标 要做到早睡早起,早睡先放到一边,先要做好早起的准备。 先运动一个小时,然后,晚上要回顾一天的生活工作,核查自己一整天的任务完成情况以及调整第二天的任 务。 近期目...

boogoogle ⋅ 2016/01/24 ⋅ 0

DeepLearning笔记: 如何在 Docker 里切换 Python 版本

在 DeepLearning-1:神经网络和 Docker 入门 一文中,我们介绍了 Docker 环境的安装和使用。 然后,00 遇到了 Python 的经典问题:Python 2 还是 Python 3?TensorFlow image 默认安装的是 ...

Kidult ⋅ 01/14 ⋅ 0

DeepLearning笔记:Docker 入门和用 Python 实现词频统计

一、神经网络简介 神经网络简史: 40年代:概念雏形(没有学习算法) 50年代:可用的学习算法 - 感知机 1969年:Minsky 泼冷水 70年代:BP 算法,训练多层神经网络 90年代:SVM 支持向量机「...

Kidult ⋅ 2017/12/27 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

Jenkins实践3 之脚本

#!/bin/sh# export PROJ_PATH=项目路径# export TOMCAT_PATH=tomcat路径killTomcat(){pid=`ps -ef | grep tomcat | grep java|awk '{print $2}'`echo "tom...

晨猫 ⋅ 今天 ⋅ 0

Spring Bean的生命周期

前言 Spring Bean 的生命周期在整个 Spring 中占有很重要的位置,掌握这些可以加深对 Spring 的理解。 首先看下生命周期图: 再谈生命周期之前有一点需要先明确: Spring 只帮我们管理单例模...

素雷 ⋅ 今天 ⋅ 0

zblog2.3版本的asp系统是否可以超越卢松松博客的流量[图]

最近访问zblog官网,发现zlbog-asp2.3版本已经进入测试阶段了,虽然正式版还没有发布,想必也不久了。那么作为aps纵横江湖十多年的今天,blog2.2版本应该已经成熟了,为什么还要发布这个2.3...

原创小博客 ⋅ 今天 ⋅ 0

聊聊spring cloud的HystrixCircuitBreakerConfiguration

序 本文主要研究一下spring cloud的HystrixCircuitBreakerConfiguration HystrixCircuitBreakerConfiguration spring-cloud-netflix-core-2.0.0.RELEASE-sources.jar!/org/springframework/......

go4it ⋅ 今天 ⋅ 0

二分查找

二分查找,也称折半查找、二分搜索,是一种在有序数组中查找某一特定元素的搜索算法。搜素过程从数组的中间元素开始,如果中间元素正好是要查找的元素,则搜素过程结束;如果某一特定元素大于...

人觉非常君 ⋅ 今天 ⋅ 0

VS中使用X64汇编

需要注意的是,在X86项目中,可以使用__asm{}来嵌入汇编代码,但是在X64项目中,再也不能使用__asm{}来编写嵌入式汇编程序了,必须使用专门的.asm汇编文件来编写相应的汇编代码,然后在其它地...

simpower ⋅ 今天 ⋅ 0

ThreadPoolExecutor

ThreadPoolExecutor public ThreadPoolExecutor(int corePoolSize, int maximumPoolSize, long keepAliveTime, ......

4rnold ⋅ 昨天 ⋅ 0

Java正无穷大、负无穷大以及NaN

问题来源:用Java代码写了一个计算公式,包含除法和对数和取反,在页面上出现了-infinity,不知道这是什么问题,网上找答案才明白意思是负的无穷大。 思考:为什么会出现这种情况呢?这是哪里...

young_chen ⋅ 昨天 ⋅ 0

前台对中文编码,后台解码

前台:encodeURI(sbzt) 后台:String param = URLDecoder.decode(sbzt,"UTF-8");

west_coast ⋅ 昨天 ⋅ 0

实验楼—MySQL基础课程-挑战3实验报告

按照文档要求创建数据库 sudo sercice mysql startwget http://labfile.oss.aliyuncs.com/courses/9/createdb2.sqlvim /home/shiyanlou/createdb2.sql#查看下数据库代码 代码创建了grade......

zhangjin7 ⋅ 昨天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部