Docker-compose的使用

news2024/11/15 13:31:12

目录

Docker-compose 简介

docker-compose的安装

docker-compose.yaml文件说明

compose的常用命令

总结


Docker-compose 简介

Docker-compose 是用于定义和运行多容器的 Docker 应用程序的工具。可以使用YAML文件来配置应用程序的服务。(通俗讲是可以通过yml文件配置,批量运行多容器的docker应用程序)


Compose的使用一般分为三步:

  • 使用 Dockerfile 定义应用程序的环境,以便可以在任何地方复制它
  • 在docker-compose.yaml 中定义组成应用程序的服务,以便它们可以在隔离的环境中一起运行。
  • 运行 docker-compose up,然后compose 启动并运行整个应用程序。

docker-compose的安装

macOS、Windows 系统使用的 Docker Desktop 默认已经安装
Linux系统:
https://github.com/docker/compose/releases
curl "https:/ /github.com/docker/compose/releases/download/1.24.0/docker-compose-$(uname -s)-$(uname-m)" -o /usr/local/bin/docker-compose(curl下载不了的话,可以先下载到本地,再上传或者用wget)
更改权限:chmod +x /usr/local/bin/docker-compose
查看版本: docker-compose version

docker-compose.yaml文件说明

示例及说明:

version: "2.2"     #docker-compose的版本
services:  #定义container
  mysql:    #container名称
    image: "mysql:5.7"    #image镜像名称及版本
    ports:
      - "3306:3306"  端口
    networks:  网络配置
      springboot:
        ipv4_address: 172.16.0.1
    environment: 环境信息
      MYSQL 
    restart: always #遇到异常即重启
    user: root
    volumes:  #定义数据挂载记录
    - /var/lib/mysql:/var/lib/mysql:rw
    - /etc/mysql/mysingle.cnf:/etc/mysql/mysql.conf.d/mysqld.cnf:ro

compose的常用命令

查看配置: docker-compose config
后台启动: docker-compose up -d
构建镜像: docker-compose build
下载镜像: docker-compose pull
查看正在运行: docker-compose ps


进程: docker-compose top


启动: docker-compose start
停止: docker-compose stop

总结

多容器应用,可以通过配置docker-compose.yaml文件,执行docker-compose相关命令,同时对应用中的容器进行操作,可以理解为批量操作多容器应用的工具 ,简化操作步骤

注意点:

  • 使用时docker服务必须是启动的(不启动无法操作docker,会报错)
  • 需要用root用户执行docker-compose命令
  • 需要进入docker-compose.yaml所在目录执行命令(不同应用的对应目录下执行的是对应应用的容器)

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

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

相关文章

LeetCode108-将有序数组转换为二叉搜索树

题目来源 108. 将有序数组转换为二叉搜索树 - 力扣(LeetCode) 题目 给你一个整数数组 nums ,其中元素已经按 升序 排列,请你将其转换为一棵高度平衡 二叉搜索树。 高度平衡二叉树是一棵满足「每个节点的左右两个子树的高度差的…

智慧地下采矿,“像素游戏”智能呈现

在这个像素世界里,我们需要一个智能地下采矿可视化综合管理平台,来帮助我们管理和监控地下采矿全流程。 图扑软件依托自主研发的 HT for Web 产品,结合三维定制化渲染、动态模拟、物理碰撞、5G、物联网、云计算及大数据等先进技术&#xff0c…

从零开始理解Linux中断架构(8)---执行上下文之CPU上下文

1 CPU上下文的来由 CPU上下文是切换任务到CPU时需要保存和恢复的CPU寄存器。ARM64需要保存的寄存器如下图所示 X19-X29作为CPU上下文的依据是什么? 实际上这里使用了一个隐含的事实:Linux所有的任务切换都是在内核中__switch_to函数中进行的,当前任务通过__…

KubeSphere 社区双周报 | OpenFunction 发布 v1.1.1 | 2023.6.9-6.22

KubeSphere 社区双周报主要整理展示新增的贡献者名单和证书、新增的讲师证书以及两周内提交过 commit 的贡献者,并对近期重要的 PR 进行解析,同时还包含了线上/线下活动和布道推广等一系列社区动态。 本次双周报涵盖时间为:2023.6.9-6.22。 …

Elisp之定时器run-with-timer、run-with-idle-timer、run-at-time 区别(二十二)

简介: CSDN博客专家,专注Android/Linux系统,分享多mic语音方案、音视频、编解码等技术,与大家一起成长! 优质专栏:Audio工程师进阶系列【原创干货持续更新中……】🚀 人生格言: 人生…

libevent(11)libevent中的循环和退出函数

一、libevent基本原理介绍 一个 event_base 对象相当于一个 Reactor 实例(不了解Reactor的读者可自行查询相关文章)。libevent默认情况下是单线程的,每个线程有且只有一个event_base,对应一个struct event_base结构体以及附于其上…

由于找不到msvcp120.dll无法继续执行代码怎么办?

msvcp120.dll是微软软件包的一部分。它是一个库文件,可用于支持软件运行时,msvcp120.dll的作用是提供计算机程序所需的标准库,msvcp120.dll还负责管理堆内存、线程和异常处理函数等。在使用windows编写的应用程序中,通常需要使用此…

android 如何分析应用的内存(八)——malloc debug

android 如何分析应用的内存(八) 接上文,介绍六大板块中的第三个————malloc调试和libc回调 上一篇文章中,仅仅是在分配和释放的时候,拦截对应的操作。而不能进一步的去检查内存问题。比如:释放之后再…

深入理解Android Jetpack Compose的Box

Box是一个提供了一种快速、简便的方式来对其子元素进行层叠布局的布局组件。 一、什么是Box? 二、如何使用Box? 三、Box中的contentAlignment属性 四、使用Modifier在Box内进行更复杂的布局 一、什么是Box? 在Compose中,Box是一个简单的布局组件&#xff0c…

如何写出高效、准确的会议记录?

在企业或组织中,会议是一种常见的沟通和决策方式。作为参会人员之一,撰写一份高效、准确的会议记录显得尤为重要。会议记录不仅记录了会议的主题、议题和讨论结果,还能帮助参与者回顾会议过程、梳理思路、明确职责,同时也为后续工…

快速入门JavaScript异步编程:从回调到async/await的跨越

文章目录 I. 介绍异步编程的背景和基本概念本文主要讨论JavaScript中的异步编程 II. 回调函数回调函数的定义、作用以及使用场景回调地狱的问题及解决方案 III. PromisePromise的定义、作用以及使用场景Promise的状态及状态转换Promise的链式调用和错误处理 IV. async/awaitasy…

深度学习之目标检测Fast-RCNN模型算法流程详解说明(超详细理论篇)

1.Fast-RCNN论文背景 2. Fast-RCNN算法流程 3.Fast R-CNN 问题和缺点 这篇以对比RCNN来说明,如果你对RCNN网络没太熟悉,可访问这链接,快速了解,点下面链接 深度学习之目标检测R-CNN模型算法流程详解说明(超详细理论篇…

合宙Air724UG Cat.1模块硬件设计指南--原理图设计注意事项

在设计原理时注意以下几点: 严格按照模块硬件手册设计原理图 1.调试接口: 调试务必留出usb(烧录脚本,升级用) ,1.8v(开机标志),uboot(强制烧录用)测试点&…

软件测试面试,大厂上岸究竟有什么秘诀?

最后,总结一下个人认为比较重要的知识点:接口自动化测试 :测试框架,多个有关联的接口的用例编写,用例的组织及存储,接口测试的覆盖率,RESTAssured 的封装等。UI 自动化测试 :iOS 和 …

Web自动化测试之滑动验证码的解决方案

目录 滑动验证破解思路 案例讲解 实现代码 运行效果: 根据传入滑块,和背景的节点,计算滑块的距离 滑动滑块进行验证 总结: 在Web自动化测试的过程中,经常会被登录的验证码给卡住,不知道如何去通过验证…

Prompt不等于编程,“提示词工程师”淘汰程序员也是伪命题

Original 李建忠 李建忠研思 最近ChatGPT及基于大语言模型(Large Language Model,以下简写为LLM)的Github Copilot等工具出来之后,在软件开发领域也带来了非常大的震撼。著名的观点有Fixie创始人、前Google工程总监Matt Welsh在AC…

解决onblur()失去焦点事件在刚登陆页面(尚未有任何操作)时就触发的问题

文章目录 一、原始错误:1.1 原始代码1.2 访问页面(仅访问页面,不进行任何操作) 二、解决错误2.1 解决办法2.2 再次访问页面2.2.1 输入错误格式2.2.2 输入正确格式 最近笔者在编写代码时遇到刚访问页面,什么都没有操作&…

JavaWeb学习笔记-1

学习路线 Web开发–介绍(画大饼) 什么是Web? Web:全球广域网,也成为万维网,能通过浏览器访问的网站 Web网站的工作流程 网站大致是由三个部分组成的 第一部分就是我们能看到的网页程序,也叫做…

React 组件中怎么做事件代理

React 并不会把所有的处理函数直接绑定在真实的dom节点上,而是把所有的事件绑定到结构的最外层(合成事件层),使用一个统一的事件监听器,这个事件监听器上维持了一个映射来保存所有组件内部的事件监听和处理函数。 当组…

哈工大计算机网络课程网络层协议详解之:网络地址转换NAT

哈工大计算机网络课程网络层协议详解之:网络地址转换NAT 文章目录 哈工大计算机网络课程网络层协议详解之:网络地址转换NAT网络地址转换(NAT)NAT实现原理NAT穿透问题NAT穿透问题的解决方案 上一节中,我们在DHCP协议中介…