ubuntu系统(5):服务器中docker和image的关系及常用命令
目录
一、image和docker的关系
1、镜像(image)
2、容器(Docker)
3、Image和Docker的关系
二、常用命令
1、查看所有image
2、查看所有docker
3、image生成docker文件
4、进入已有docker
5、在docker中退出
6、docker生成image
7、退出docker提示there are stopped jobs
8、使用服务器的tar文件生成image
9、image生成服务器的tar文件
今天给刚进组的师弟找入门工具教程的时候找到了很久之前的笔记,有需要的惠存。
一、image和docker的关系
1、镜像(image)
镜像是一个包含了应用程序运行所需的所有文件系统、库、依赖和配置的静态文件。它可以看作是一个轻量级的、可执行的软件包。镜像是容器的基础,可以用来构建和运行容器。镜像是只读的,一旦创建就不可更改,任何对镜像的修改都会生成一个新的镜像。
2、容器(Docker)
Docker是一种开源的容器化平台,它使用轻量级的虚拟化技术来创建和管理容器。Docker提供了一套工具和接口,使得开发人员可以更方便地构建、发布和运行应用程序。Docker通过使用容器来打破应用程序与底层操作系统之间的依赖关系,提供了一种可移植、可扩展和可隔离的环境。
3、Image和Docker的关系
在Docker中,镜像是构建和运行容器的基础。当我们使用Docker构建一个容器时,实际上是通过从一个或多个镜像创建或组合容器。镜像提供了用于构建和运行容器所需的文件系统、库和依赖。我们可以将镜像看作是一个应用程序的"快照",它包含了应用程序的所有运行时要求。
Docker提供了一套命令行接口和API,使得我们可以使用镜像来创建和管理容器。通过Docker,我们可以从Docker Hub(一个公共的镜像注册表)或私有的镜像注册表中获取现有的镜像,也可以通过编写Dockerfile来定义自己的镜像。Dockerfile是一个文本文件,描述了如何构建一个镜像,包括基础镜像、容器所需的文件和配置等。
当我们创建一个容器时,Docker会在基础镜像的基础上创建一个可写的容器层。这个容器层包含了应用程序的运行时状态和任何对文件系统的修改。这使得容器可以在镜像的基础上进行修改和定制,而不会影响到其他容器或基础镜像。因此,镜像提供了容器化应用程序的可重复性和可移植性。
画了一个基本关系图,相当于B1/B2是在image A的基础上扩展的。
二、常用命令
1、查看所有image
docker images
REPOSITORY:是image的名称TAG:image的标签IMAGE ID:image的唯一标识CREATED:创建时间SIZE:image大小
2、查看所有docker
docker ps -a
CONTAINER ID:顾名思义,容器ID的意思,可以通过这id找到唯一的对应容器IMAGE :该容器所使用的镜像COMMAND :启动容器时运行的命令CREATED:容器的创建时间,显示格式为”时间之前创建“STATUS :容器现在的状态,状态有7种:created(已创建)|restarting(重启中)|running(运行中)|removing(迁移中)|paused(暂停)|exited(停止)|deadPORTS: 容器的端口信息和使用的连接类型(tcp\udp)NAMES: 镜像自动为容器创建的名字,也唯一代表一个容器
3、image生成docker文件
docker run -it 镜像名:标签
4、进入已有docker
docker start 容器ID
docker attach 容器ID
5、在docker中退出
exit
6、docker生成image
docker commit 容器ID 新生成的Image名:标签
其中这个标签可以是数字,也可以是字母数字的组合。
7、退出docker提示there are stopped jobs
查看所有停止的作业。
jobs
显示目前有[1][2]两个现在停止的工作。
kill -9 %JOB-ID
(其中-9是强制关闭)
8、使用服务器的tar文件生成image
docker load -i 路径/{image_name}.tar
9、image生成服务器的tar文件
docker save image名:tag -o xxx.tar