docker的简单描述

1.什么是docker

  • We have a complete container solution for you - no matter who you are and where you are on your containerization journey.
  • 翻译: 我们为你提供了一个完整的容器解决方案,不管你是谁,不管你在哪,你都可以开始容器的的旅程。
  • 官方定义: docker是一个容器技术。

2.docker的优势

(1)一致的运行环境,更轻松迁移
这里我们拿java Web应用程序举例,我们一个java Web应用程序涉及很多东西,比如jdk、tomcat、mysql等软件环境。当这些其中某一项版本不一致的时候,可能就会导致应用程序跑不起来这种情况。Docker则将程序以及使用软件环境直接打包在一起,无论在那个机器上保证了环境一致。
常见的问题:在开发的时候,在本机测试环境可以跑,生产环境跑不起来

(2)对进程进行封装隔离,容器与容器之间互不影响,更高效的利用系统资源。------->容器与容器之间是进程级别的隔离。
如果你的程序重要性不是特别高的话,公司基本上不可能让你的程序独享一台服务器的,这时候你的服务器就会跟公司其他人的程序共享一台服务器,所以不可避免地就会受到其他程序的干扰,导致自己的程序出现问题。Docker就很好解决了环境隔离的问题,别人程序不会影响到自己的程序。

(3)通过镜像复制N多个环境一致容器。让同一个项目能够轻松在多台服务器里进行部署
在没有Docker的情况下,要在几天内部署几十台服务器,这对运维来说是一件非常折磨人的事,而且每台服务器的环境还不一定一样,就会出现各种问题,最后部署地头皮发麻。用Docker的话,我只需要将程序打包到镜像,你要多少台服务,我就给力跑多少容器,极大地提高了部署效率。

3.docker和虚拟机区别

Docker是不携带操作系统的,所以Docker的应用就非常的轻巧。另外在调用宿主机的CPU、磁盘等等这些资源的时候,拿内存举例,虚拟机是利用Hypervisor去虚拟化内存,整个调用过程是虚拟内存->虚拟物理内存->真正物理内存,但是Docker是利用Docker Engine去调用宿主的的资源,这时候过程是虚拟内存->真正物理内存。

传统虚拟机Docker容器
磁盘占用几个GB到几十个GB左右几十MB到几百MB左右
CPU内存占用虚拟操作系统非常占用CPU和内存Docker引擎占用极低
启动速度(从开机到运行项目)几分钟(从开启容器到运行项目)几秒
安装管理需要专门的运维技术安装、管理方便
应用部署每次部署都费时费力从第二次部署开始轻松简捷
耦合性多个应用服务安装到一起,容易互相影响每个应用服务一个容器,达成隔离
系统依赖需求相同或相似的内核,目前推荐是Linux
### Docker 基本使用教程 Docker 是一种容器化技术,允许开发者创建、部署和运行应用程序在一个隔离的环境中。以下是关于 Docker 的一些基础概念及其常见操作。 #### 安装与初始化 安装 Docker 需要根据操作系统选择合适的版本并按照官方文档完成配置[^1]。一旦安装成功,可以通过 `docker version` 或者 `docker info` 来验证环境是否正常工作。 #### 创建镜像 构建自定义镜像是 Docker 使用中的重要环节之一。通常会通过编写 **Dockerfile** 文件来描述如何制作镜像。例如,在 Spring Boot 项目中可以将打包好的 jar 放入同一目录下的 Dockerfile 中,并执行如下命令生成镜像: ```bash docker build -f /path/to/Dockerfile -t my-springboot-app . ``` 这里 `-f` 参数指定了具体的 Dockerfile 路径;而 `-t` 则用于命名新产生的镜像标签名称[^3]。 #### 运行容器 启动一个新的容器实例时需指定所基于的基础镜像以及附加参数。如果希望覆盖默认 CMD 设置,则可以直接在 `docker run` 后追加相应指令作为入口程序替代原有设置。然而对于 ENTRYPOINT 类型,默认行为会被保留下来并与额外提供的选项组合起来共同作用于最终进程调用链上。 当需要交互式访问正在运行的服务内部状态或者调试问题场景下,可采用以下方法进入已存在的容器终端界面: ```bash docker exec -it <container_id> bash ``` 此命令提供了 shell 访问权限给用户以便进一步探索资源状况或调整配置文件等内容. #### 导出/导入镜像 为了便于分享成果或是迁移至其他机器保存本地副本, 可运用下面两条语句实现目标功能. 导出当前系统中存在的某特定 image 至 tarball 归档形式: ```bash docker save -o saved_image.tar IMAGE_NAME ``` 加载先前备份过的压缩包恢复到 registry 当前列表里去: ```bash docker load --input saved_image.tar ``` 上述过程可通过简单的帮助提示获取更多细节信息:`docker save --help`, `docker load --help`[^2]. ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值