docker原理和docker相关的命令【杭州多测师】【杭州多测师_王sir】

Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从 Apache2.0 协议开源。
Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。
容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 app),更重要的是容器性能开销极低。
docker命令大全引用菜鸟教程:https://www.runoob.com/docker/docker-command-manual.html

 

Docker和虚拟机的区别:
1.传统虚拟机,运行一个完整的操作系统,然后在这个系统上安装和运行软件
2.docker容器的应用直接运行在宿主机上,容器是没有自己的内核,也没有虚拟硬件非常轻便
3.docker比虚拟机快,新建一个容器非常快,几秒钟就可以了,因为docker用的是实际的物理机资源,虚拟机是硬件资源虚拟化
4.docker需要的资源更少
5.docker属于进程之间的隔离,隔离性较弱,而虚拟机可以实现系统级别的隔离
6.虚拟机的安全性比容器好一些,docker与宿主机共享内核、文件系统等资源,更有可能对其他容器、宿主机造成影响,虚拟化创建是分钟级别的,Docker 容器创建是秒级别的
7.docker容器里面主要就三大块内容:仓库,镜像,容器,仓库就是存放镜像的地方,镜像就好比是一个模板,可以通过镜像创建容器,也可以通过镜像创建多个容器,项目就运行在容器里面
8.docker中利用容器独立运行一个或者一组应用,通过镜像创建,容器可以理解为是一个Linux系统,可以启动,停止,删除等命令来操作容器

 

docker和K8S的区别:
1.docker是容器化技术,K8S是一套自动化部署工具,涵盖了开发、部署、测试、运行监控等各个环节
2.K8S也是容器集群管理系统,相当于就是一个容器编排和管理的平台,有很多功能比如:部署运行、资源调度、服务注册和发现、内建负载均衡、还可以故障发现和自我修复、服务滚动升级和在线扩容能力、资源监控等等,而Docker提供了基本的容器操作,如启动、停止和删除容器,K8S的功能更加的高级和复杂
3.docker是一个开源的应用容器引擎,开发可以打包应用或者依赖包放到一个可移植的镜像中
4.Docker主要用于本地开发和单主机环境中的容器管理,而Kubernetes适用于多主机或云环境中的容器编排和调度
5.Docker更关注如何构建和打包容器,而Kubernetes更关注如何在集群上管理和运行这些容器
6.Kubernetes更关注整个应用程序的生命周期管理,包括部署、自动扩展、更新和回滚。而Docker更注重容器本身的构建和管理。
7.Docker和Kubernetes并不是互斥的,而是可以互补使用的。在实际应用中,通常使用Docker来构建和打包应用程序的容器镜像,然后使用Kubernetes来管理和调度这些容器。这两个工具可以一起使用,可以获得更好的容器化和应用程序管理体验。
8.K8S里面包含docker


容器生命周期管理
docker run :创建一个新的容器并运行一个命令
使用镜像nginx:latest以后台模式启动一个容器,并将容器的80端口映射到主机随机端口。
docker run -P -d nginx:latest
docker start :启动一个或多个已经被停止的容器
docker stop :停止一个运行中的容器
docker restart :重启容器
docker kill :杀掉一个运行中的容器。
docker rm :删除一个或多个容器。
-f :通过 SIGKILL 信号强制删除一个运行中的容器。
-l :移除容器间的网络连接,而非容器本身。
-v :删除与容器关联的卷。
docker pause :暂停容器中所有的进程。
docker unpause :恢复容器中所有的进程。
docker create :创建一个新的容器但不启动它  ==》
docker create  --name myrunoob  nginx:latest   
docker exec :在运行的容器中执行命令

容器操作
docker ps : 列出容器
-a :显示所有的容器,包括未运行的。
-f :根据条件过滤显示的内容。
--format :指定返回值的模板文件。
-l :显示最近创建的容器。
-n :列出最近创建的n个容器。
--no-trunc :不截断输出。
-q :静默模式,只显示容器编号。
-s :显示总的文件大小。
docker inspect : 获取容器/镜像的元数据。
docker top :查看容器中运行的进程信息,支持 ps 命令参数。
docker attach :连接到正在运行中的容器。
docker events : 从服务器获取实时事件
docker logs : 获取容器的日志
docker wait : 阻塞运行直到容器停止,然后打印出它的退出代码。
docker export :将文件系统作为一个tar归档文件导出到STDOUT。
docker port :列出指定的容器的端口映射,或者查找将PRIVATE_PORT NAT到面向公众的端口。

容器rootfs命令
docker commit :从容器创建一个新的镜像。
docker cp :用于容器与主机之间的数据拷贝。
docker diff : 检查容器里文件结构的更改。

镜像仓库
docker login : 登陆到一个Docker镜像仓库,如果未指定镜像仓库地址,默认为官方仓库 Docker Hub
docker logout : 登出一个Docker镜像仓库,如果未指定镜像仓库地址,默认为官方仓库 Docker Hub
docker pull : 从镜像仓库中拉取或者更新指定镜像
docker push : 将本地的镜像上传到镜像仓库,要先登陆到镜像仓库
docker search : 从Docker Hub查找镜像

本地镜像管理
docker images : 列出本地镜像。
docker rmi : 删除本地一个或多个镜像。
docker tag : 标记本地镜像,将其归入某一仓库。
docker build :命令用于使用 Dockerfile 创建镜像。
docker history : 查看指定镜像的创建历史。
docker save : 将指定镜像保存成 tar 归档文件。
docker load :  导入使用 docker save 命令导出的镜像。
docker import : 从归档文件中创建镜像。

info|version
docker info : 显示 Docker 系统信息,包括镜像和容器数。。
docker version :显示 Docker 版本信息。


 

posted @ 2022-07-22 09:22  多测师_王sir  阅读(120)  评论(0编辑  收藏  举报