当前位置: 首页 > news >正文

docker compose 使用记录

作用

        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.mrgr.cn/news/78113.html

相关文章:

  • EntityFrameworkCore 投影(Projection)SELECT
  • 20250108-实验+神经网络
  • 【深度学习入门_基础篇】线性代数本质
  • 李宏毅机器学习课程笔记02 | 机器学习任务攻略General Guide
  • 牛客网刷题 ——C语言初阶(2分支和循环-for)——打印菱形
  • ubuntu清理磁盘
  • ThingsBoard规则链节点:Azure IoT Hub 节点详解
  • C51相关实验
  • docker 安装arm架构mysql8
  • Leetcode(双指针习题思路总结,持续更新。。。)
  • solr 远程命令执行 (CVE-2019-17558)
  • 用 Python 从零开始创建神经网络(十):优化器(Optimizers)(持续更新中...)
  • 丹摩征文活动|实现Llama3.1大模型的本地部署
  • WebGIS地图框架有哪些?
  • 二叉树oj题解析
  • 【快捷入门笔记】mySQL基本操作大全-运算符和句子
  • 系统设计时应时刻考虑设计模式基础原则
  • 架构-微服务-环境搭建
  • uniapp+vue2重新进入小程序就清除缓存,设备需要重新扫码
  • 从Full-Text Search全文检索到RAG检索增强
  • jquery-picture-cut 任意文件上传(CVE-2018-9208)
  • python oa服务器巡检报告脚本的重构和修改(适应数盾OTP)有空再去改
  • C++ static关键字
  • 利用processR软件包实现简单的中介效应模型
  • 【分治】--- 快速选择算法
  • 解决数据传送问题:内网http传输