赞
踩
容器是由镜像实例化而来。
简单来说,镜像是文件,容器是进程。
容器是基于镜像创建的,即容器中的进程依赖于镜像中的文件。
docker 的镜像概念类似虚拟机的镜像。是一个只读的模板,一个独立的文件系统,包括运行容器所需的数据,可以用来创建新的容器。
docker利用容器来运行应用:docker容器是由docker镜像创建的运行实例。
docker容器类似虚拟机,可以执行包含启动,停止,删除等。每个容器间是相互隔离的。容器中会运行特定的运用,包含特定应用的代码及所需的依赖文件。可以把容器看作一个简易版的linux环境(包含root用户权限,进程空间,用户空间和网络空间等)和运行在其中的应用程序。
原文链接:https://blog.csdn.net/qq_40722827/article/details/102827125
在Docker的生命周期中,最核心的两个部分,一个是镜像 Images,一个是容器 Containers。
镜像运行起来就是容器。
容器服务运行的过程中,基于原始镜像做了改变,比如安装了程序,添加了文件,也可以提交回去 (commit)成为镜像。
例如:一个镜像可以包含一个完整的ubuntu操作系统环境,里面仅安装了mysql或用户需要的其他应用程序。
docker镜像实际上是由一层一层的系统文件组成,这种层级的文件系统被称为UnionFS( Union file system 统一文件系统),镜像可以基于dockerfile构建,dockerfile是一个描述文件,里面包含了若干条密令,每条命令都会对基础文件系统创建新的层次结构。
docker提供了一个很简单的机制来创建镜像或更新现有的镜像。用户甚至可以从其他人那里下载一个已经做好的镜像直接使用。(镜像是只读的,可以理解为静态文件)
相对于镜像来说容器是动态的,容器在启动的时候创建了一层可写层次作为最上层。
( docker create <image -id > :为指定的镜像添加一个可读写层,构成一个新的容器;)
docker仓库:如果使用了git和github就很容易理解docker的仓库概念。docker仓库概念和git类似。
docker仓库是用来包含镜像的位置,docker提供了一个注册服务器(register)来保存多个仓库,每个仓库又可以包含多个具备不同tag的镜像,
docker运作中使用的默认仓库是docker hub公共仓库。仓库支持的操作类似git,当用户创建了自己的镜像之后就可以使用push命令将它上传到共有或者私有的仓库。这样下次再另外一台机器上使用这个镜像的时候只需要从仓库里面pull下来就可以了。
拉取镜像:
查看镜像:
导出镜像:docker save -o
删除镜像:
加载镜像:
练习:
拉取镜像:
查看镜像:
打包镜像:
删除镜像:
加载镜像:
容器相关命令:
运行容器:
容器创建产生唯一ID:
查看容器状态:up
访问页面:
查看容器日志:
持续日志输出:
总结:
进入容器并查看:
查看静态文件位置:
进入index.html:
修改index.html内容:
关闭容器:
docker ps -a查看关闭的容器:
重新启动容器:
删掉容器:
不能直接关掉运行中的容器:
-f强制关闭容器:
总结:
练习:
启动redis容器:
进入容器:
添加数据:
退出容器:
也可以一步执行:
数据卷:
基本命令:
查看帮助文档:
创建数据卷:
查看数据卷:
查看数据卷所在位置:
删除未使用的数据卷:
删除指定的数据卷:
总结:
数据卷挂载到容器中:
创建容器:
查看数据卷挂载位置:
查看目录:
没有数据卷会自动创建数据卷:
总结:
导入目录:
导入镜像:
查看镜像名称:
创建目录:
上传文件:
挂载命令:
查看进程:
对比:
自定义镜像:
镜像结构:
总结:
引入数据包:
在当前目录构建镜像:
查看镜像:
运行镜像:
通过这个镜像可以省略JDK的步骤。
重新构建项目:
部署微服务集群:
下载:
配置权限:
总结:
具体学习可以参考:
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。