docker基础学习通关教程

1.docker和虚拟机介绍

虚拟机技术缺点:

  1. 资源占用十分多
  2. 冗余步骤多
  3. 启动很慢!

容器化技术

容器化技术不是模拟出一个完整的操作系统

比较Docker和虚拟机技术的不同:

  • 传统虚拟机:虚拟出一套硬件,运行一个完整的操作系统,然后在这个系统上安装和运行软件
  • 容器内的应用:直接运行在宿主机的内容,容器是没有自己的内核的,也没有虚拟我们的硬件

DevOps(开发、运维)

应用更快速的交付和部署

传统:一堆帮助文档,安装程序 Docker:打包镜像发布测试,一键运行

更便捷的升级和扩缩容

使用了Docker之后,我们部署应用就像搭积木一样! 项目打包为一个镜像,扩展 服务器A! 服务器B

更简单的系统运维

在容器化之后,我们的开发,测试环境都是高度一致的

更高效的计算资源利用:

Docker 是内核级别的虚拟化,可以在一个物理机上可以运行很多的容器实例!服务器的性能可以被压榨到极致。

2.docker基础架构

跟我们之前学习这个redis相关的内容其实是很相似的,都是这个客户端,服务器这个类似的架构;

左边的这个就是我们的客户端,英文就是client,主要的三个常见的命令就是build就是打包镜像,pull就是拉取这个对应的镜像,run就是运行;

其中在这个服务器里面呢,包含这个image以及这个containers,containers表示的就是我们的这个一个又一个的容器,其中这个images表示的就是我们的镜像,类似于模版,我们的容器就是使用这个模版弄出来的;

最右边的这个就是我们的镜像仓库,这个仓库类似于git仓库,odocker官方有自己的仓库dockerhub,国内的这个阿里云也有自己的仓库,类似于国际上面就是github,但是我们国内游这个gitee,都是一样的道理,只要你有这个基础,基本上是很容易理解这个docker里面的这个常见的概念的;

3.docker的run执行流程

4.云服务器安装实战

首先我们可以使用下面的这个指令查看我们的这个云服务器上面是否存在着docker,看看这个对应的版本是什么,如果没有的话,我们需要自己进行安装;

如果有的话,大家可以按照下面的这个类似的操作配置国内的镜像源,这样可以保证我们的这个镜像的拉取的速度是很快的;

上述的指令大家可以询问大模型就知道了,基本上大模型都是可以告诉你的,我自己使用的就是这个claude,大家自己使用合适的即可;

然后我们可以打开对应的文件查看这个镜像是不是配置成功了的,如果看到了镜像地址,说明就是没问题的,这个也证明了我们上面的配置是生效的:

5.常见镜像命令

docker rmi -f 镜像ID 删除指定的镜像

docker images 显示所有的镜像,获取对应的信息

下面的这个主机名字换成我们的容器的ID:

docker ps显示容器的相关属性信息,但是一定要退出,在容器里面无法使用;

-a选项表示的就是全部的运行的容器;

docker rm ID

docker start ID----启动这个指定的容器

docker restart

docker shutdown

//查看日志

docker logs

//ctrl+p+q 不关闭退出

//后台启动

docker run -d 容器的ID

但是这个情况下如果没有前台进程,这个后台启动的容器就会退出

//查看这个容器的元数据

docker inspect

bash 复制代码
docker run -it  id            这个是创建并且进入这个容器
​
docker exec -it id   这个就是重新进入我们的容器查看相关数据
相关推荐
MegaDataFlowers2 分钟前
快速上手Spring
java·后端·spring
小江的记录本2 分钟前
【MyBatis-Plus】Spring Boot + MyBatis-Plus 进行各种数据库操作(附完整 CRUD 项目代码示例)
java·前端·数据库·spring boot·后端·sql·mybatis
大傻^8 分钟前
Spring AI Alibaba Function Calling:外部工具集成与业务函数注册
java·人工智能·后端·spring·springai·springaialibaba
码界奇点15 分钟前
基于Spring Boot的医院药品管理系统设计与实现
java·spring boot·后端·车载系统·毕业设计·源代码管理
小旭952719 分钟前
Spring MVC :从入门到精通(下)
java·后端·spring·mvc
SimonKing2 小时前
全网爆火的OpenClaw保姆级教程Linux版,它来了。
java·后端·程序员
青柠代码录2 小时前
【Linux】常用命令:sort
后端
小江的记录本2 小时前
【MyBatis-Plus】MyBatis-Plus的核心特性、条件构造器、分页插件、乐观锁插件
java·前端·spring boot·后端·sql·tomcat·mybatis
驕傲的兎孒3 小时前
基于 SpringBoot + Vue3 + AI 打造企业级售后服务支持平台 | 实战方案分享
人工智能·spring boot·后端
大傻^3 小时前
Spring AI Alibaba 可观测性实践:AI应用监控与链路追踪
java·人工智能·后端·spring·springaialibaba