docker实战流程:

news2024/11/18 4:28:37

Docker-compose是docker官方的开源项目,负责实现对docker容器的集群的快速编排(通过yaml文件docker-compose.yml管理写好容器之间的调用关系只需一个命令就能实现容器的通识开启或关闭)。

类比spring容器,spring管理的是bean而docker-compose管理的是容器;可以解决大规模集群应用的编排问题(不使用docker-compose要进行不停的docker run而使用了就会一键启动或关闭)。

最新版的docker已经内置了docker-compose:如果是较低版本就要在官网上下载:https://docs.docker.com/compose/install/下载可能需要魔法,注意版本的对应:

curl -SL https://github.com/docker/compose/releases/download/v2.27.0/docker-compose-linux-x86_64 -o /usr/local/bin/docker-compose

下载好之后或者docker最新版直接查看:docker compose version

e165cadaae094eed847e04131de01935.png

Docker-compose核心概念:一文件:docker-compose.yml两要素:服务(mysql容器,redis容器,nginx容器,或者是一个库存服务,定单服务),工程(就是多个服务组成的一个完整的服务就是工程)

Compose使用三步骤:

  1. 编写sockerfile定义各个微服务应用并构建出对应的镜像
  2. 使用docker-compose.yml定义一个完整的业务单元安排好整体编排的容器执行顺序和配置服务
  3. 最后执行docker-compose up命令来启动并运行整个应用程序,完成一键部署或停止。

准备好一个简单的springboot项目,并构建成镜像:

64d042fb397342ec89fd194e7f924e90.png

使用docker-compose之前

Before:(启动顺序是固定的)

先启动一下mysql

97c059aeceae49c98ce3ce78d7471bfe.png

再启动redis

9af2870f357c4d6fb7eeedb794485c79.png

在跑起来项目:

688d304506f84f4ba95591e416c7f0d1.png

有多个run命令,且容易在服务器宕机时IP发生变化导致映射出错

0a10f4c43d064e0fa631506612e94981.png

使用docker-compose之后

After:编辑yml文件:

写入:

version: "3"
 
services:
  microService:
    image: zzyy_docker:1.6
    container_name: ms01
    ports:
      - "6001:6001"
    volumes:
      - /app/microService:/data
    networks: 
      - alibaixiu_net 
    depends_on: 
      - redis
      - mysql
 
  redis:
    image: redis:6.0.8
    ports:
      - "6379:6379"
    volumes:
      - /app/redis/redis.conf:/etc/redis/redis.conf
      - /app/redis/data:/data
    networks: 
      - alibaixiu_net
    command: redis-server /etc/redis/redis.conf
 
  mysql:
    image: mysql:5.7
    environment:
      MYSQL_ROOT_PASSWORD: '123456'
      MYSQL_ALLOW_EMPTY_PASSWORD: 'no'
      MYSQL_DATABASE: 'db2021'
      MYSQL_USER: 'zzyy'
      MYSQL_PASSWORD: 'zzyy123'
    ports:
       - "3306:3306"
    volumes:
       - /app/mysql/db:/var/lib/mysql
       - /app/mysql/conf/my.cnf:/etc/my.cnf
       - /app/mysql/init:/docker-entrypoint-initdb.d
    networks:
      - alibaixiu_net
    command: --default-authentication-plugin=mysql_native_password #解决外部无法访问
 
networks: 
   alibaixiu_net: 

注意位置:

4d1cfcee552044948c513d564c32d1eb.png

69daf7c4287948759847a28eeb830084.png

9f0674b0ce384d109aa1f19c455d8e5e.png


参考命令:

Compose常用命令:

docker-compose -h   #查看帮助

docker-compose up  #启动所有的docker-compose服务

docker-compose up -d  #启动所有的docker-compose服务并在后台运行

docker-compose down  #停止并删除容器,网络,卷,镜像

docker-compose exec yml里面的服务id   #进入容器内部docker-compose exec yml里面的服务id /bin/bash

docker-compose ps  #展示当前docker-compose编排过的运行的所有容器

docker-compose top  #展示当前docker-compose编排过的容器的进程

docker-compose logs yml里面服务的id   #查看容器输出的日志

docker-compose config -q  #检查配置有问题才输出

docker-compose restart/start/stop  #重启/启动/停止服务

参考项目:点击参考项目!

如需要阳老师笔记私信!素材来源于@尚硅谷雷丰阳老师!致敬阳哥教会了我docker!

70c4d38d9baf41e48114de8c26cb6b70.png

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

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

相关文章

【乐吾乐3D可视化组态编辑器】3D场景与大屏通信

乐吾乐大屏可视化可以实现大屏页面与内嵌2d/3d场景相互通信,底层原理是利用了iframe通过postMessage发送消息。 3D组态编辑器地址:3D可视化组态 - 乐吾乐Le5le 大屏组态编辑器地址:大屏可视化设计器 - 乐吾乐Le5le 下面以3d场景为例&#…

C# 判断字符串不等于空的示例

在C#中,要判断一个字符串是否不等于空(即它既不是null也不是空字符串""),方法有如下几种,如下。 方法1 使用逻辑运算符和string.IsNullOrEmpty方法 string myString "123"; // 假设要检查的字…

Python第二语言(三、Python函数def)

目录 1. Python函数(def 函数名():) 1.1 sorted对容器进行排序:无法指定排序规则 1.2 sort对容器自定义排序:可以指定排序规则 1.3 获取变量长度函数(len) 1.4 函数的定义 1.5 函数-传参定义 1.6 函…

JFinal学习06 控制器——getPara()接收数据

JFinal学习06 控制器——getPara()接收数据 视频来源https://www.bilibili.com/video/BV1Bt411H7J9/?spm_id_from333.337.search-card.all.click 文章目录 JFinal学习06 控制器——getPara()接收数据零、JFinal数据提交的三种方式一、get提交二、post提交三、url参数化提交四、…

基于spring boot+vue的校园新闻管理系统

随着网络不断的普及发展,校园新闻网站依靠网络技术的支持得到了快速的发展, 首先要从用户的实际需求出发, 通过了解用户的需求开发出具有针对性的首页、校园 新闻、 论坛交流、 留言反馈、 个人中心、 后台管理功能, 利用目前网络…

MotionEditor_ 通过内容感知扩散编辑视频运动

图1. MotionEditor:一种基于扩散的视频编辑方法,旨在将参考视频的运动转移到源视频中。 摘要 现有的基于扩散的视频编辑模型在随时间编辑源视频的属性方面取得了显著进展,但在修改运动信息的同时保持原始主角的外观和背景方面存在困难。为…

计算机网络 期末复习(谢希仁版本)第2章

物理层考虑的是怎样才能在连接各种计算机的传输媒体上传输数据比特流,而不是指具体的传输媒体。4 个特性: 机械特性:指明接口所用接线器的形状和尺寸、引线数目和排列、固定和锁定装置等。 电气特性:指明在接口电缆的各条线上出现…

gitlabcicd-k8s部署gitlab

一.安装准备环境 存储使用nfs挂载持久化 k8s环境 helm安装 建议helm 3 二.部署gitlab-deploy.yaml nfs的ip是192.168.110.190 挂载目录是/data/data 注意所需要的目录需要创建:/data/data/gitlab/config ,/data/data/gitlab/logs ,/dat…

HarmonyOS(二十三)——HTTP请求实战一个新闻列表

在前一篇文章,我们已经知道如何实现一个http请求的完整流程,今天就用官方列子实战一个简单的新闻列表。进一步掌握ArkTS的声明式开发范式,数据请求,常用系统组件以及touch事件的使用。 主要包含以下功能: 数据请求。…

47.各种类型的线程池

线程池继承体系 Executor(interface)->ExecutorService(interface)->ThreadPoolExecutor(class) Executors.newFixedThreadPool 核心线程数最大线程数(没有救急线程被创建),所以也无需超时时间阻塞队列LinkedBlockingQueue,可以放任意…

探索营销系统业务架构的设计与应用

随着市场竞争的日益激烈和消费者需求的不断变化,营销系统作为企业营销管理的重要组成部分,扮演着至关重要的角色。本文将深入探讨营销系统业务架构的设计与应用,从客户关系管理、营销活动管理、数据分析和智能化服务等方面进行全面解析&#…

AWS EMR Serverless

AWS概述 EMR Serverless 简介 在AWS概述一文中简单介绍过AWS EMR, 它是AWS提供的云端大数据平台。借助EMR可以设置集群以便在几分钟内使用大数据框架处理和分析数据。创建集群可参考官方文档:Amazon EMR 入门。但集群创建之后需要一直运行,用户需要管理…

vuInhub靶场实战系列--prime:1

免责声明 本文档仅供学习和研究使用,请勿使用文中的技术源码用于非法用途,任何人造成的任何负面影响,与本人无关。 目录 免责声明前言一、环境配置1.1 靶场信息1.2 靶场配置 二、信息收集2.1 主机发现2.1.1 netdiscover2.1.2 nmap主机扫描2.1.3 arp-scan主机扫描 2.2 端口扫描…

RPA机器人的技术挑战与解决方案

RPA在企业转型过程中彰显出巨大的潜力,每年为企业节省大量人力以及运营成本,从而实现企业经营的降本提质增效。但要成功部署和实施RPA,需要专业人员、流程和技术的精心组合。企业管理者需要根据自己的实际需求,选择一个稳定可靠、…

Hadoop3:MapReduce之InputFormat数据输入过程整体概览(0)

一、MapReduce中数据流向 二、MapTask并行度 1、原理概览 数据块:Block是HDFS物理上把数据分成一块一块。数据块是HDFS存储数据单位。 数据切片:数据切片只是在逻辑上对输入进行分片,并不会在磁盘上将其切分成片进行存储。数据切片是MapRed…

Python私教张大鹏 Vue3 整合 Ant Design Vue

创建项目 npm create vite启动项目 cd vue3_antdesignvue pnpm i pnpm dev使用webstorm打开项目 配置启动 整合AntDesignVue 安装依赖: pnpm install ant-design-vue pnpm install unplugin-vue-components -D修改 vite.config.js import {defineConfig} from …

HarmonyOS鸿蒙-DevEco Studio工具

一、官网下载DevEco Studio工具地址 文章内容: 1、下载工具 2、运行项目 3、安装启动器 https://developer.harmonyos.com/cn/develop/deveco-studio/https://developer.harmonyos.com/cn/develop/deveco-studio/ 下载不同平台工具目录 : 二、 安装DevEco Studio工具 安装的配置…

Three.js中的Raycasting技术:实现3D场景交互事件的Raycaster详解

前言 在Web开发中,Three.js是一个极为强大的库,它让开发者能够轻松地在浏览器中创建和展示3D图形。随着3D技术在网页设计、游戏开发、数据可视化等领域的广泛应用,用户与3D场景的交互变得日益重要。而要实现这种交互,一个核心的技…

PID算法在电机速度控制上的应用

目录 概述 1 系统硬件框架 1.1 框架介绍 1.2 硬件实物图 2 STM32Cub生成工程 2.1 软件版本信息 2.2 配置参数 ​编辑2.3 生成项目 3 PID算法实现 3.1 概念 3.2 代码实现 4 其他功能实现 4.1 设置电机速度 4.2 PID算法控制电机 4.3 功能函数的调用 5 测试 5.1 …

Dell戴尔XPS 16 9640 Intel酷睿Ultra9处理器笔记本电脑原装出厂Windows11系统包,恢复原厂开箱状态oem预装系统

下载链接:https://pan.baidu.com/s/1j_sc8FW5x-ZreNrqvRhjmg?pwd5gk6 提取码:5gk6 戴尔原装系统自带网卡、显卡、声卡、蓝牙等所有硬件驱动、出厂主题壁纸、系统属性专属联机支持标志、系统属性专属LOGO标志、Office办公软件、MyDell、迈克菲等预装软…