首页 > 其他分享 >1分钟了解什么是docker和docker-compose?前后端必知必会技能GET啦

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

时间:2024-10-06 09:04:44浏览次数:6  
标签:容器 Compose GET 管理 compose docker Docker

@

目录

前情提要

本文非常简短,如果需要详细介绍和详细安装,图文并茂,保姆级教程,可以参考我的这篇文章点击这里保姆级图文教程分分钟学会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)

结语

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

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

在这里插入图片描述

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

标签:容器,Compose,GET,管理,compose,docker,Docker
From: https://www.cnblogs.com/sugartang/p/18447557

相关文章

  • 如何解决 构建dotnet docker镜像时报错:error NU1301: Unable to load the service ind
    我用的是dockerdesktop,Builders设置:desktop-linux以下是我的dotnet项目的Dockerfile内容FROMmcr.microsoft.com/dotnet/aspnet:6.0ASbaseWORKDIR/appEXPOSE80EXPOSE443FROMmcr.microsoft.com/dotnet/sdk:6.0ASbuildWORKDIR/srcCOPY["NuGet.Config","......
  • PHP报错getimagesize(): SSL operation failed with code 1问题解决方案
    这个PHP错误通常发生在尝试通过HTTPS协议获取图像时,由于缺少或过期的CA证书导致SSL连接验证失败。以下是详细的解决方案:解决方案一:更新CA证书下载最新的CA证书访问 curl官方提供的CA证书 页面下载 cacert.pem 文件。上传证书文件将下载的 cacert.......
  • ROS报错The target name "test" is reserved when CTest testing is enabled
    ROS报错“Thetargetname“test“isreservedwhenCTesttestingisenabled”注意:现有特殊情况,可执行文件名可以为test,但是映射名称不可以为test。一般认为,可执行文件名和映射名称同名。因为映射名称不可命名为test,故可执行文件最好不要命名为test。纠正:ROS遇到的问题......
  • const和readonly修饰的成员,静态构造函数以及对于变量的访问{get;set}
    第一,const修饰的数据类型定义:按照publicconstinttest=20;的格式进行声明,const修饰的数据类型叫做常量。注意:1访问时只能通过类名加变量名访问。      2必须在声明的时候就赋值。      3常量是不可修改的值。代码如下:usingSystem.Collection......
  • 全面图解Docker架构设计:掌握Docker全链路思维/实战/优化(小白到大师篇[2])
    Docker是一个革命性的开放平台,用于开发、交付和运行应用程序。通过使用Docker,开发者可以打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何支持Docker的环境中,在不同环境中实现一致的运行。无论是在虚拟机、物理服务器、数据中心还是云平台,Docker......
  • 群晖docker实现稍后阅读wallabag
    开篇本文基于docker和github开源项目wallabag关于群晖安装,在项目的说明文档里面显示他们在群晖社区里面提供了一个套件,但我在添加社区以后并没有找到,所以采用了docker方式拉取镜像Ssh链接群晖,sudo-i进入root权限使用命令dockerrun-v/opt/wallabag/d......
  • Docker容器Centos不能使用systemctl命令问题
    最近使用Docker搭建Centos容器时遇到这样的问题:Centos系统的不能使用systemctl命令!具体场景使用systemctl或service命令重启服务时。systemctlrestartsnmpd.service会报无权限的错误:FailedtogetD-Busconnection:Operationnotpermitted;这是docker中centos7......
  • 03 掌握Docker核心架构:镜像、仓库、容器及运行管理的深度解析
    文章目录03掌握Docker核心架构:镜像、仓库、容器及运行管理的深度解析一概述1.1镜像1.2镜像仓库1.3容器二、镜像及镜像仓库2.1本地镜像仓库2.2镜像仓库简介2.3使用远端仓库2.3.1从远端镜像仓库拉取apache镜像2.3.2从远端镜像仓库拉取指定......
  • macbook m1 pro 使用parallel desktop安装ubuntu24.04以及docker+网络配置
    1.使用paralleldesktop安装ubuntu这个不多说,一开始以为使用24.04版本太新,目前倒是也没遇到什么问题,直接使用pd首页提供的镜像就可以2.配置网络我本地是在macm1pro上,使用了shadowrocket,打开sr,下面设置中有一个代理共享,开启它,并配置一个端口回到ubuntu中,打开网络配置,把......
  • 使用 NVIDIA Container Toolkit 和 Docker 配置 GPU 深度学习环境
    在深度学习开发中,充分利用GPU资源是提高模型训练效率的关键。本文将详细介绍如何安装NVIDIAContainerToolkit,并配置Docker容器以利用GPU进行深度学习训练。我们将结合NVIDIAContainerToolkit的安装和Docker容器的配置,确保你拥有一个高效的GPU开发环境。1.安装......