docker compose 使用记录

devtools/2024/11/29 17:31:58/

作用

        Docker Compose 是一个用于定义和运行多容器 Docker 应用程序的工具。通过一个 YAML 文件来配置应用程序的服务,然后使用一个命令即可创建并启动所有服务。

文档位置

        Part 7: Use Docker Compose | Docker Docs

使用方法

        1. 安装 Docker Compose

                  sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
                  sudo chmod +x /usr/local/bin/docker-compose

        2. 创建 docker-compose.yml 文件

                在项目根目录下创建一个 docker-compose.yml 文件,定义服务、网络和卷。

#版本声明:指定了 Docker Compose 文件的版本。这里使用的是版本 3。
version: '3'
#服务定义
services:web: #服务名称image: nginx:latest  #指定使用的 Docker 镜像,这里是 nginx:latestports:  #ports: 将主机的 80 端口映射到容器的 80 端口- "80:80"#挂载,将主机的 ./html 目录挂载到容器的 /usr/share/nginx/html 目录,这样可以将静态文件放在主机上,Nginx 会从这个目录中提供服务volumes:- ./html:/usr/share/nginx/htmldb:image: postgres:latest#设置环境变量,这里设置了 POSTGRES_PASSWORD 为 exampleenvironment:POSTGRES_PASSWORD: example#将命名卷 postgres_data 挂载到容器的 /var/lib/postgresql/data 目录,这样可以持久化 PostgreSQL 的数据volumes:- postgres_data:/var/lib/postgresql/datavolumes:#定义了一个命名卷 postgres_data,用于持久化 PostgreSQL 的数据。命名卷的好处是数据独立于容器,即使容器被删除,数据仍然保留。postgres_data:

        3. 启动服务

                在 docker-compose.yml 文件所在的目录下运行命令: docker-compose up -d

                //-d 参数表示在后台运行服务。  

        4. 查看服务状态

                docker-compose ps

        5. 停止服务

                docker-compose down

        6. 重新构建服务

                修改了 docker-compose.yml 文件或服务的 Dockerfile后可以使用以下命令重新构建服务:docker-compose up --build -d

        7. 查看日志

                docker-compose logs

        8. 在特定服务的容器中执行命令:

                docker-compose exec web bash

        9. 配置环境变量

                可以在 docker-compose.yml 文件中使用环境变量,或者创建一个 .env 文件来管理环境变量。

                .env 文件示例:

POSTGRES_USER=admin
POSTGRES_PASSWORD=example
POSTGRES_DB=mydb

                使用示例:

version: '3'
services:db:image: postgres:latestenvironment:POSTGRES_USER: ${POSTGRES_USER}POSTGRES_PASSWORD: ${POSTGRES_PASSWORD}POSTGRES_DB: ${POSTGRES_DB}


http://www.ppmy.cn/devtools/137978.html

相关文章

结构型模式-外观模式

外观模式(Facade Pattern)是一种结构型设计模式,用于为复杂子系统提供一个统一的、高层次的接口。通过外观模式,客户端无需深入了解子系统的内部复杂性,只需与外观类交互即可完成任务,从而简化了使用方式&a…

神经网络中的损失函数(Loss Function)

损失函数(Loss Function)在机器学习和深度学习中扮演着至关重要的角色,它是衡量模型预测值与实际值之间差异程度的函数。通过最小化损失函数,我们可以优化模型的参数,使其预测结果更加准确。 一、损失函数的定义 损失函…

QT QFormLayout控件 全面详解

本系列文章全面的介绍了QT中的57种控件的使用方法以及示例,包括 Button(PushButton、toolButton、radioButton、checkBox、commandLinkButton、buttonBox)、Layouts(verticalLayout、horizontalLayout、gridLayout、formLayout)、Spacers(verticalSpacer、horizontalSpacer)、…

Flutter:启动屏逻辑处理02:启动页

启动屏启动之后&#xff0c;制作一个启动页面 新建splash&#xff1a;view 视图中只有一张图片sliding.png就是我们的启动图 import package:flutter/material.dart; import package:get/get.dart; import index.dart; class SplashPage extends GetView<SplashController…

Python入门(18)--实战项目

机器学习实战项目指南 &#x1f916; 项目概览 &#x1f310; 本项目是一个综合性的机器学习入门实战指南&#xff0c;通过实际案例展示机器学习项目的完整生命周期&#xff0c;包括数据处理、模型训练、评估和部署等关键环节。 1. 系统架构 &#x1f3d7;️ 1.1 核心组件 …

设计模式学习之——责任链模式

责任链模式的基本概念 定义&#xff1a;责任链模式&#xff08;Chain of Responsibility Pattern&#xff09;是一种行为型设计模式&#xff0c;它允许多个对象按照一定顺序处理请求&#xff0c;并且每个对象可以选择自己是否处理该请求或者将其传递给下一个对象处理。 核心思…

Spring数据接收揭秘

RequestMapping RequestMapping是Spring框架中用于将HTTP请求映射到控制器的处理方法上的注解&#xff0c;它能将特定的HTTP请求与控制器中的方法进行关联&#xff0c;使开发者可以根据请求的路径、请求方法、请求头、请求参数等条件&#xff0c;来确定由哪个方法处理该请求&a…

利用Vue 3实现鼠标跟随效果案例

在Web开发领域&#xff0c;鼠标跟随效果是一种能显著提升页面交互性、增加动态感与趣味性的常见方式。接下来&#xff0c;我们将通过一个详细的案例&#xff0c;深入讲解如何运用Vue 3来打造一个更为完善的鼠标跟随效果组件&#xff0c;重点在于优化鼠标移动逻辑部分。 一、案…