当前位置:首页>开发>正文

Docker的镜像和容器的区别 怎么在docker里面安装镜像命令

2023-04-18 05:56:59 互联网 未知 开发

 Docker的镜像和容器的区别 怎么在docker里面安装镜像命令

Docker的镜像和容器的区别

假设Linux内核是第0层,那么无论怎么运行Docker,它都是运行于内核层之上的。这个Docker镜像,是一个只读的镜像,位于第1层,它不能被修改或不能保存状态。 一个Docker镜像可以构建于另一个Docker镜像之上,这种层叠关系可以是多层的。

怎么在docker里面安装镜像命令

Docker容器运行后,如何知进入容器进行操作呢?起初我是用SSH。如果只启动一个容器,用SSH还能应付,只需要将容器的22端口道映射到本机的一个端口即可。当我启动了五个容器后,每个容器默认是没有配置SSH Server的,安装配置SSHD,映射容器SSH端口,实在是麻烦。 我发现很多Docker镜像都是没有安装SSHD服务的,难道有其版他方法进入Docker容器? 有很多种方法,包括使用 docker attach 命令或 nsenter 工具等。 使用 attach 命令有时候并不方便。当多个窗口同时 attach 到同一个容器的时候,所有窗口都会同步显示。 nsenter 可以访问另一个进程的名字空间。 为了连接到容器,你还需要找到容器的第一个进程的 PID,可以通过下面的命令获权取。

怎么把docker做成镜像文件

方法/步骤
在使用Docker的过程中,我们除了从Docker Hub上下载已经做好的镜像,很多时候需要我们自己制作镜像。下面想在这个文章中说明一下镜像的制作方法。

制作镜像的方式主要有两种:

通过docker commit 制作镜像
通过docker build 制作镜像
这两种方式都是通过改进已有的镜像来达到自己的目的。制作基础镜像,会在另外一篇文章“从零开始制作基础镜像”中介绍。

docker commit
docker commit 是往版本控制系统里提交一次变更。使用这种方式制作镜像,本质上是运行一个基础镜像,然后在基础镜像上进行软件安装和修改。最后再将改动提交到版本系统中。

Docker的save和export命令的区别

# docker export [OPTIONS] CONTAINER
操作对象是容器。与之相对的命令是docker import

# docker save [OPTIONS] IMAGE [IMAGE...]
操作对象是镜像。与之相对的命令是docker load

导出后再导入(export-import)的会丢失所有的历史,
而保存后再加载(save-load)的镜像没有丢失历史和层(layer)。

如何获取Docker的data里面的镜像内容

目录下有三个文件:
/var/lib/docker/devicemapper/metadata/base
/var/lib/docker/devicemapper/metadata/transaction-metadata
/var/lib/docker/devicemapper/metadata/deviceset-metadata
它们则是用来存放前面元数据的id、大小、以及UUID等信息。