DockerDocker容器

Docker学习笔记之 一、helloword

2017-08-28  本文已影响32人  黎明你好

1.1 介绍概念

Docker:

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

镜像:

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
1.3.3-a.png

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

$ docker run --name nginx-hello -d -p 88:80 nginx
1.3.3-b.png 1.3.3-c.png

1.3.4 修改运行的容器数据

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

$ docker ps

可以看见正在运行的容器列表:

1.3.4-a.png

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

$ docker exec -it nginx-hello bash
$ echo 'hello docker nginx 88' > /usr/share/nginx/html/index.html
1.3.4-b.png
1.3.4-c.png

1.3.5 保存这个容器为镜像

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

$ docker diff nginx-hello
1.3.5-a.png

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

$ docker commit [这里是id] [这里是保存的名字]
1.3.5-b.png

查看本地的镜像

$ docker images
1.3.5-c.png
上一篇下一篇

猜你喜欢

热点阅读