1分钟了解什么是docker和docker-compose?前后端必知必会技能GET啦
@
前情提要
本文非常简短,如果需要详细介绍和详细安装,图文并茂,保姆级教程,可以参考我的这篇文章点击这里保姆级图文教程分分钟学会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)
结语
- 今天就写到这里啦~
- 小伙伴们,( ̄ω ̄( ̄ω ̄〃 ( ̄ω ̄〃)ゝ我们明天再见啦~~
- 大家要天天开心哦
欢迎大家指出文章需要改正之处~
学无止境,合作共赢