网站制作农业,婺源做网站,wordpress需要npv,网站建设有哪些荣誉4-什么是Image和container
什么是Image?
先练习一个例子:
docker pull ubuntu:16.04
docker image ls # 查看镜像镜像类似于一个系统安装光盘#xff0c;你可以使用一个安装光盘为多台电脑安装操作系统#xff0c;同样#xff0c;你也可以用同一个镜像构建多个运行的…4-什么是Image和container
什么是Image?
先练习一个例子:
docker pull ubuntu:16.04
docker image ls # 查看镜像镜像类似于一个系统安装光盘你可以使用一个安装光盘为多台电脑安装操作系统同样你也可以用同一个镜像构建多个运行的 Docker 实体——容器。当你使用同一张安装光盘给多台电脑安装系统之后这些电脑的系统是完全一样的换句话说安装光盘的内容是不变的。同理镜像也是一个静态的概念从同一个镜像运行的 Docker 容器也都是一样的镜像的内容在生成之后就不再改变
Docker 镜像是一个特殊的文件系统类似于 Linux 的 root 文件系统镜像提供了容器运行时所需的程序、库、资源、配置等文件还包含了一些为运行时准备的一些配置参数。镜像是一个静态的概念镜像不包含任何动态数据其内容在构建之后也不会被改变。 由于镜像包含完整的 Linux root 文件系统所以它可能会很庞大。因此Docker 的设计者充分利用 Unions FS 技术把 Docker 设计为分层存储的结构什么意思呢 意思是说镜像是分层构建的每一层是上面一层的基础每一层在构建完成之后都不会再发生变化这提醒我们构建镜像的时候我们要保证每一层都只包含我们的应用需要的东西不要有包含不需要的文件因为每一层在构建之后不再发生变化所以即使你在之上的层删除了那些不需要的文件这些文件也只是被标记为删除实际上并没有真正删除如果每一层都包含一些可有可无的文件就会使得我们的镜像越来越臃肿。通过之前的叙述我们可以看出一个镜像实际上并不是一个文件而是一组分层文件。分层存储还使得不同的镜像可以共享某些层便于镜像的复用。 什么是container?
你可以从镜像创建容器就像从快照创建虚拟机一样。容器是一个动态的概念你的程 序都是在容器里运行的。
容器就是一个进程但是它有自己独立的命名空间拥有自己独立的文件系统独立的 网络等资源。因此容器就好像一个完全独立于宿主主机的操作系统一样完全可以被 当做一个独立的操作系统使用。 容器也是分层存储的当你从一个镜像创建并运行一个容器的时候是以镜像作为基础 层在此之上创建一个容器的存储层你对容器的读写都是在这一层完成的。但是当容 器消亡的时候容器的存储层也会随之消失。因此我们不应该在容器的存储层写入数 据文件的写入操作需要使用其它的方式这会在之后的教程介绍。 我们现在只需要知道容器和镜像都是分层存储的并了解容器和镜像的关系就足够 了。
镜像和容器的关系 就好比 面向对象编程中的 类 与 实例。
练习 pull 一个 ubuntu16.04镜像 如果不知道有哪些镜像可以搜索 docker search ubuntu拉取16.04版本 docker pull ubuntu:16.04
16.04: Pulling from library/ubuntu
Digest: sha256:e4a134999bea4abb4a27bc437e6118fdddfb172e1b9d683129b74d254af51675
Status: Image is up to date for ubuntu:16.04创建一个容器 docker run --name ubuntu-demo ubuntu:16.04此时docker ps命令是查看不到的说明他创建完成后就退出了通过docker ps -a查看。 这是因为这个容器并不能占用一个进程一直跑。此时我们可以这样使用 docker run -it --name ubuntu-demo ubuntu:16.04 /bin/bash此方式为交互式的运行让我们可以进入一个终端 此时 ubuntu:16.04镜像就好比一个类而 ubuntu-demo 容器就是实例