文档章节

Docker学习笔记之 一、helloword

黎明你好
 黎明你好
发布于 2017/08/28 16:18
字数 885
阅读 6
收藏 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
朝阳
程序员
CentOS学习笔记 - 9. docker maven编译基于gofabric8的java应用镜像

续上一篇 1. 修改java工程的pom.xml , 加入docker编译插件 2. 编写Dockerfile, 放到docker目录下面 docker目录在 3. 编译镜像 4. 查看镜像 5. 运行镜像...

七月星空
2017/10/24
0
0
Docker Compose笔记 02 安装笔记

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

iotisan
2017/11/16
0
0
Docker容器技术 学习笔记汇总

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

iotisan
2017/10/20
0
0
【Shiro】Shiro从小白到大神(一)-Shiro入门

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

qq_26525215
2017/09/22
0
0
centos安装、卸载、升级docker

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

月夜筱风
2016/08/22
261
0

没有更多内容

加载失败,请刷新页面

加载更多

命令行新建Maven多项目

参考地址 # DgroupId 可以理解为包名# DartifactId 可以理解为项目名mvn archetype:generate -DgroupId=cn.modfun -DartifactId=scaffold -DarchetypeArtifactId=maven-archetype-quickst......

阿白
44分钟前
1
0
OSChina 周四乱弹 —— 上帝对我单身年限的惩罚越来越长了

Osc乱弹歌单(2018)请戳(这里) 【今日歌曲】 @达尔文:分享张卫健的单曲《身体健康》 《身体健康》- 张卫健 手机党少年们想听歌,请使劲儿戳(这里) 昨天是重阳节咯, 可惜小小编辑总是晚...

小小编辑
46分钟前
8
0
django rest framework 外键序列化方法与问题总结

django rest framework 外键序列化方法与问题总结 当借口中需要出现一对多关系的时候,我们可以用rest_framwork的序列化功能来处理,代码如下. # models.pyfrom django.db import modelscl...

_Change_
昨天
3
0
SingleNumber136 leetCode

Given a non-empty array of integers, every element appears twice except for one. Find that single one. Note: Your algorithm should have a linear runtime complexity. Could you im......

woshixin
昨天
3
0
String ,  StringBuffer ,  StringBuilder的区别

String , StringBuffer , StringBuilder的区别 String 首先,String 是用来表示一个字符串常量的,它是一个不可变对象,意味着,一旦我们创建了某个字符串之后,就不能再改变它的值了,我们可...

tsmyk0715
昨天
6
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部