1分钟了解什么是docker和docker-compose?前后端必知必会技能GET啦

news/2024/10/6 4:12:14

@

目录
  • 前情提要
  • Docker
      • 定义:
      • 主要功能:
      • 命令示例:
      • 其他
  • Docker Compose
      • 定义:
      • 我为什么使用它?
      • 主要功能:
      • 命令示例:
      • 主要区别
      • 配置文件:
      • 命令行操作:
      • 依赖关系管理:
  • 实际应用场景
      • 单个服务:
      • 多服务应用:
  • 总结
  • 结语
      • 欢迎路过的小哥哥小姐姐们提出更好的意见哇~~

前情提要

本文非常简短,如果需要详细介绍和详细安装,图文并茂,保姆级教程,可以参考我的这篇文章点击这里保姆级图文教程分分钟学会Docker,快速掌握

Docker

定义:

Docker 是一个开源平台,用于构建、部署和管理容器化的应用程序。
它允许你将应用程序及其依赖项打包成一个轻量级、可移植的容器,以便在任何环境中一致地运行。

主要功能:

镜像管理: 创建、下载和管理 Docker 镜像。
容器管理: 启动、停止、删除容器。
网络管理: 管理容器间的网络连接。
卷管理: 管理数据持久化。

命令示例:

sh
docker run -d nginx
docker ps
docker stop <container_id>

其他

如果有需要其他资料,可以参考我的这篇文章:点击这里保姆级图文教程分分钟学会Docker,快速掌握

  • 安装
  • 手把手教你进行MAC安装Docker
  • 手把手教你进行Linux安装Docker
  • 手把手教你进行Windows安装Docker
  • 注意重点(如果你不设置这些的话,服务器重启或者docker 服务重启以后,你的项目会无法自动启动哦~)
  • 镜像加速
  • 制作自己的镜像
  • 常用命令
  • 目录挂载
  • 容器通信
  • 连接到远程Docker引擎

Docker Compose

定义:

Docker Compose 是一个工具,用于定义和运行多容器的 Docker 应用。
它允许你在一个 YAML 文件中定义多个容器及其配置,并通过一条命令启动和管理这些容器。

我为什么使用它?

  • 想要一个容器运行多个项目,比如前后端项目,或者其他依赖项目
  • 懒得设置网络什么的,太麻烦,直接全运行到同一个容器

主要功能:

多容器应用: 在一个 docker-compose.yml 文件中定义多个容器及其依赖关系。
一键启动: 使用 docker-compose up 命令启动所有定义的容器。
环境变量管理: 通过环境变量文件 .env 来管理容器的环境变量。
网络和卷管理: 自动创建和管理容器间的网络和数据卷。

命令示例:

sh
# 启动所有定义的服务
docker-compose up -d# 查看所有容器的状态
docker-compose ps# 停止所有容器
docker-compose down

主要区别

单个容器 vs 多容器:

Docker: 主要用于管理和操作单个容器。
Docker Compose: 用于定义和管理多个容器,适用于微服务架构或多服务应用。

配置文件:

Docker: 使用 Dockerfile 来定义镜像构建过程。
Docker Compose: 使用 docker-compose.yml 文件来定义多个容器及其配置。

命令行操作:

Docker: 提供了一系列命令来管理单个容器(如 docker run, docker stop, docker ps)。
Docker Compose: 提供了一组命令来管理整个应用(如 docker-compose up, docker-compose down, docker-compose logs)。

依赖关系管理:

Docker: 不直接支持容器间的依赖关系管理。
Docker Compose: 支持定义容器间的依赖关系,确保按顺序启动和停止容器。

实际应用场景

单个服务:

如果你只需要运行一个简单的服务或容器,使用 Docker 即可。
示例:运行一个单独的 Nginx 服务器。

多服务应用:

如果你需要运行一个包含多个服务的应用,建议使用 Docker Compose。
示例:运行一个包含 Web 服务、数据库服务和缓存服务的复杂应用。

总结

Docker 更适合管理单个容器,而 Docker Compose 更适合管理和编排多容器应用。Docker Compose 类似 Kubernetes (K8S)

结语

  • 今天就写到这里啦~
  • 小伙伴们,( ̄ω ̄( ̄ω ̄〃 ( ̄ω ̄〃)ゝ我们明天再见啦~~
  • 大家要天天开心哦

欢迎大家指出文章需要改正之处~
学无止境,合作共赢

在这里插入图片描述

欢迎路过的小哥哥小姐姐们提出更好的意见哇~~

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.ryyt.cn/news/68215.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!

相关文章

VUE2常见问题以及解决方案汇总(不断更新中)

vue子组件传递数据给父组件 子组件可以使用 $emit 向父组件传递数据。父组件监听这个事件,并在事件触发时接收数据。 上代码 子组件 (Child.vue) <template><button @click="sendDataToParent">Send Data to Parent</button> </template>&l…

1分钟搞懂K8S中的NodeSelector

@目录NodeSelector是什么?为什么使用NodeSelector?怎么用NodeSelector?POD配置示例yaml配置示例如何知道K8S上面有哪些节点,每个节点都有什么信息呢?1. 使用kubectl命令行工具查看所有节点及其标签2. 使用kubectl命令行工具查看特定节点的标签代码举例常见的NodeSelector节…

谷歌浏览器调试技巧

谷歌浏览器断点调试# “资源(Sources)”面板# 进入浏览器,点击F12,进入调试面板,点击source 切换按钮 会打开文件列表的选项卡。资源(Sources)面板包含三个部分:文件导航(File Navigator) 区域列出了 HTML、JavaScript、CSS 和包括图片在内的其他依附于此页面的文件。…

两种方案手把手教你多种服务器使用tinyproxy搭建http代理

@目录Tinyproxy是什么?特点功能安装方案一:Docker安装安装tinyproxy镜像,启动容器将内部8888端口至外部,ANY代表允许所有ip访问代理获得代理地址安装方案二:系统包管理器Tinyproxy 可以通过包管理器安装。以下是一些常见的 Linux 和 mac发行版的安装命令:MAC电脑Linux配置…

Docker系列-5种方案超详细讲解docker数据存储持久化(volume,bind mounts,NFS等)

@目录Docker的数据持久化是什么?1.数据卷(Data Volumes)使用Docker 创建数据卷创建数据卷创建一个容器,将数据卷挂载到容器中的 /data 目录。进入容器,查看数据卷内容停止并重新启动容器,数据卷中的数据仍然存在再次进入容器,检查文件是否存在使用 Docker Compose 创建数…

基于simulink的风轮机发电系统建模与仿真

1.课题概述使用simulink实现风轮机发电系统建模与仿真,包括风速模型(基本风+阵风+阶跃风+随机风组成),风力机模型,飞轮储能模块等。2.系统仿真结果 3.核心程序与模型 版本:MATLAB2022a风速模块:风力机模块 整体模型4.系统原理简介 4.1 风速模型风速模型在风力发电和其他…

2024-10-06 闲话

2024-10-06 闲话坐在电脑前 1 小时也什么都写不出来。 比如我现在住的地方(在一个房子里面)旁边有一个大冰块,因为这个大冰块在吸热所以我在家里感受到了无尽的寒冷。 于是我读了几本古圣先贤的书,合成了能烧来取暖的蜂窝煤。我又拿了根钻头把蜂窝煤点着了,尾气全部排到房…

报错集

报错集弹性云服务器ECS + 自动分配IP地址 + 配置安全组规则 + 配置并创建桶1.另外一个冲突的操作当前正作用在这个资源上,请等待一段时间后重试。 A conflicting conditional operation is currently in progress against this resource.Please try again 解决方案:桶的名称重…