速通Docker === Docker Compose

目录

Docker Compose 简介

Docker Compose 常用命令

使用 Docker Compose 启动 WordPress

普通启动方式(使用 Docker 命令)

使用 Docker Compose 启动

Docker Compose 的特性


Docker Compose 简介

Docker Compose 是一个用于定义和运行多容器 Docker 应用程序的工具。它通过 YAML 文件配置应用程序的服务、网络和卷,从而可以轻松地启动、停止和管理多个容器。

Docker Compose 常用命令

Docker Compose 提供了许多命令来管理多容器应用程序,以下是一些常用命令及其用法:

  • docker compose up -d:启动服务,-d 表示后台运行。
  • docker compose down:停止并删除服务,-v 可选参数用于删除卷。
  • docker compose ps:列出正在运行的服务。
  • docker compose logs:查看服务日志,-f 实时跟踪。
  • docker compose build:构建服务镜像,--no-cache 禁用缓存。
  • docker compose exec:在运行的容器中执行命令。
  • docker compose restart:重启服务。
  • docker compose stop:停止服务。
  • docker compose start:启动已停止的服务。
  • docker compose pull:拉取服务的镜像。
  • docker compose config:验证并查看配置文件。
  • docker compose run:运行一次性命令,--rm 完成后删除容器。

使用 Docker Compose 启动 WordPress

WordPress 是一个功能强大且广泛使用的开源内容管理系统(CMS),基于 PHP 和 MySQL 构建。它允许用户通过简单的安装和配置,快速搭建个人博客、企业网站、新闻门户等多种类型的网站。WordPress 提供了丰富的主题和插件生态系统,用户可以根据自己的需求轻松定制网站的外观和功能。

普通启动方式(使用 Docker 命令)

创建网络

docker network create blog

启动 MySQL 容器

docker run -d -p 3306:3306 \
-e MYSQL_ROOT_PASSWORD=shiguang \
-e MYSQL_DATABASE=wordpress \
-v mysql-data:/var/lib/mysql \
-v /home/mysql/config:/etc/mysql/conf.d \
--restart always --name mysql \
--network blog \
mysql:8.0

启动 WordPress 容器

docker run -d -p 8080:80 \
-e WORDPRESS_DB_HOST=mysql \
-e WORDPRESS_DB_USER=root \
-e WORDPRESS_DB_PASSWORD=shiguang \
-e WORDPRESS_DB_NAME=wordpress \
-v wordpress:/var/www/html \
--restart always --name wordpress-app \
--network blog \
wordpress:latest

使用 Docker Compose 启动

version指定 Docker Compose 文件版本(如 3.8)。
services定义服务(容器)的集合。
image指定服务使用的 Docker 镜像。
container_name设置服务的容器名称。
ports映射容器端口到宿主机端口(如 8080:80)。
environment设置服务的环境变量(如 MYSQL_ROOT_PASSWORD)。
volumes挂载卷到容器(如 mysql-data:/var/lib/mysql)。
restart设置容器的重启策略(如 alwayson-failure)。
depends_on定义服务依赖关系(如 depends_on: [mysql])。
networks定义服务所属的网络。

编写 docker-compose.yml 文件

# 服务名称
name: myblog
# 服务
services:mysql:# 容器名称container_name: mysql# 镜像image: mysql:8.0# 端口ports:- "3306:3306"# 环境变量environment:- MYSQL_ROOT_PASSWORD=shiguang- MYSQL_DATABASE=wordpress# 挂载volumes:- mysql-data:/var/lib/mysql- /opt/docker/mysql/config:/etc/mysql/conf.d# 重启策略restart: always# 网络networks:- blogwordpress:# 镜像image: wordpress# 端口ports:- "8080:80"# 环境变量environment:  WORDPRESS_DB_HOST: mysqlWORDPRESS_DB_USER: rootWORDPRESS_DB_PASSWORD: shiguangWORDPRESS_DB_NAME: wordpress# 挂载volumes:- wordpress:/var/www/html# 重启策略restart: always# 网络networks:- blog# 依赖depends_on:- mysqlvolumes:# 挂载mysql-data:wordpress:networks:# 网络blog:

启动服务

切换到 docker-compose.yml 文件所在目录。

执行命令:docker compose up -d

指定文件名启动

如果文件名不是默认的 docker-compose.yml,可以使用 -f 指定文件名:

docker compose -f compose.yml up -d

Docker Compose 的特性

增量更新

修改 docker-compose.yml 文件后重新启动应用,只会触发修改项的重新启动。

数据安全

默认情况下,即使使用 docker-compose down 停止容器,所有挂载的卷也不会被移除。

如果需要删除容器的同时删除所有卷,可以使用以下命令:

docker compose down --rmi all -v

通过 Docker Compose,可以更高效地管理多容器应用程序,简化开发和部署流程。

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

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

相关文章

ESP32服务器和PC客户端的Wi-Fi通信

ESP32客户端-服务器Wi-Fi通信 本指南将向您展示如何设置ESP32板作为服务端,PC作为客户端,通过HTTP通信,以通过Wi-Fi(无需路由器或互联网连接)交换数据。简而言之,您将学习如何使用HTTP请求将一个板的数据发…

为什么IDEA提示不推荐@Autowired❓️如果使用@Resource呢❓️

前言 在使用 Spring 框架时,依赖注入(DI)是一个非常重要的概念。通过注解,我们可以方便地将类的实例注入到其他类中,提升开发效率。Autowired又是被大家最为熟知的方式,但很多开发者在使用 IntelliJ IDEA …

如何用数据编织、数据虚拟化与SQL-on-Hadoop打造实时、可扩展兼容的数据仓库?

在大数据技术迅猛发展的背景下,许多人认为传统数据仓库已过时。然而,这种观点忽略了数据仓库的核心价值:统一的数据视图、强大的业务逻辑支撑以及丰富的数据分析能力。在企业数据架构转型中,数据仓库不仅未被淘汰,反而…

DuckDB:Golang操作DuckDB实战案例

DuckDB是一个嵌入式SQL数据库引擎。它与众所周知的SQLite非常相似,但它是为olap风格的工作负载设计的。DuckDB支持各种数据类型和SQL特性。凭借其在以内存为中心的环境中处理高速分析的能力,它迅速受到数据科学家和分析师的欢迎。在这篇博文中&#xff0…

day1代码练习

输出3-100以内的完美数&#xff0c;(完美数&#xff1a;因子和(因子不包含自身)数本身) #include <stdio.h>// 判断一个数是否为完美数的函数 int panduan(int n) {if (n < 2) {return 0; // 小于2的数不可能是完美数}int sum 1; // 因子和初始化为1&#xff08;因…

dify大模型应用开发平台搭建

原文地址&#xff1a;dify大模型应用开发平台搭建 – 无敌牛 欢迎参观我的技术分享网站&#xff1a;无敌牛 – 技术/著作/典籍/分享等 之前分享了一个私有化部署开源大模型的方法&#xff0c;具体参看往期文章&#xff1a;私有化部署开源AI模型 – 无敌牛 今天搭建一个大模型…

Spring Boot 邂逅Netty:构建高性能网络应用的奇妙之旅

一、引言 在当今数字化时代&#xff0c;构建高效、可靠的网络应用是开发者面临的重要挑战。Spring Boot 作为一款强大的 Java 开发框架&#xff0c;以其快速开发、简洁配置和丰富的生态支持&#xff0c;深受广大开发者喜爱。而 Netty 作为高性能、异步的网络通信框架&#xff…

Spring--SpringMVC使用(接收和响应数据、RESTFul风格设计、其他扩展)

SpringMVC使用 二.SpringMVC接收数据2.1访问路径设置2.2接收参数1.param和json2.param接收数据3 路径 参数接收4.json参数接收 2.3接收cookie数据2.4接收请求头数据2.5原生api获取2.6共享域对象 三.SringMVC响应数据3.1返回json数据ResponseBodyRestController 3.2返回静态资源…

Unity在WebGL中拍照和录视频

原工程地址https://github.com/eangulee/UnityWebGLRecoder Unity版本2018.3.6f1&#xff0c;有点年久失修了 https://github.com/xue-fei/Unity.WebGLRecorder 修改jslib适配了Unity2021 效果图 录制的视频 Unity在WebGL中拍照和录视频

数据结构——AVL树的实现

Hello&#xff0c;大家好&#xff0c;这一篇博客我们来讲解一下数据结构中的AVL树这一部分的内容&#xff0c;AVL树属于是数据结构的一部分&#xff0c;顾名思义&#xff0c;AVL树是一棵特殊的搜索二叉树&#xff0c;我们接下来要讲的这篇博客是建立在了解搜索二叉树这个知识点…

【25美赛A题-F题全题目解析】2025年美国大学生数学建模竞赛(MCM/ICM)解题思路|完整代码论文集合

我是Tina表姐&#xff0c;毕业于中国人民大学&#xff0c;对数学建模的热爱让我在这一领域深耕多年。我的建模思路已经帮助了百余位学习者和参赛者在数学建模的道路上取得了显著的进步和成就。现在&#xff0c;我将这份宝贵的经验和知识凝练成一份全面的解题思路与代码论文集合…

jenkins-k8s pod方式动态生成slave节点

一. 简述&#xff1a; 使用 Jenkins 和 Kubernetes (k8s) 动态生成 Slave 节点是一种高效且灵活的方式来管理 CI/CD 流水线。通过这种方式&#xff0c;Jenkins 可以根据需要在 Kubernetes 集群中创建和销毁 Pod 来执行任务&#xff0c;从而充分利用集群资源并实现更好的隔离性…

详解:TCP/IP五层(四层)协议模型

一.五层&#xff08;四层&#xff09;模型 1.概念 TCP/IP协议模型分为五层&#xff1a;物理层、数据链路层、网络层、传输层和应用层。这五层每一层都依赖于其下一层给它提供的网络去实现需求。 1&#xff09;物理层&#xff1a;这是最基本的一层&#xff0c;也是最接近硬件…

C语言初阶--折半查找算法

目录 练习1&#xff1a;在一个有序数组中查找具体的某个数字n 练习2&#xff1a;编写代码&#xff0c;演示多个字符从两端移动&#xff0c;向中间汇聚 练习3&#xff1a;简单编写代码实现&#xff0c;模拟用户登录情景&#xff0c;并且只能登录三次 练习4&#xff1a;猜数字…

单片机(STC89C52)开发:点亮一个小灯

软件安装&#xff1a; 安装开发板CH340驱动。 安装KEILC51开发软件&#xff1a;C51V901.exe。 下载软件&#xff1a;PZ-ISP.exe 创建项目&#xff1a; 新建main.c 将main.c加入至项目中&#xff1a; main.c:点亮一个小灯 #include "reg52.h"sbit LED1P2^0; //P2的…

Adobe的AI生成3D数字人框架:从自拍到生动的3D化身

一、引言 随着人工智能技术的发展,我们见证了越来越多创新工具的出现,这些工具使得图像处理和视频编辑变得更加智能与高效。Adobe作为全球领先的创意软件公司,最近推出了一项令人瞩目的新技术——一个能够将普通的二维自拍照转换成栩栩如生的三维(3D)数字人的框架。这项技…

Ansys Thermal Desktop 概述

介绍 Thermal Desktop 是一种用于热分析和流体分析的通用工具。它可用于组件或系统级分析。 来源&#xff1a;CRTech 历史 Thermal Desktop 由 C&R Technologies (CR Tech) 开发。它采用了 SINDA/FLUINT 求解器。SINDA/FLUINT 最初由 CR Tech 的创始人为 NASA 的约翰逊航…

【数据分享】1929-2024年全球站点的逐日平均能见度(Shp\Excel\免费获取)

气象数据是在各项研究中都经常使用的数据&#xff0c;气象指标包括气温、风速、降水、湿度等指标&#xff01;说到气象数据&#xff0c;最详细的气象数据是具体到气象监测站点的数据&#xff01; 有关气象指标的监测站点数据&#xff0c;之前我们分享过1929-2024年全球气象站点…

Java27:SPRING

一&#xff1a;SPRING介绍 1.spring的概念 广义的Spring&#xff1a;Spring技术栈&#xff08;全家桶&#xff09; 广义的Spring泛指以Spring Framework 为基础的Spring技术栈&#xff0c;Spring不在是一个单纯的应用框架&#xff0c;而是逐渐发展成为一个由不同子模块组成的…

数据标注开源框架 Label Studio

数据标注开源框架 Label Studio Label Studio 是一个开源的、灵活的数据标注平台&#xff0c;旨在帮助开发者和数据科学家轻松创建高质量的训练数据集。它支持多种类型的数据&#xff08;如文本、图像、音频、视频等&#xff09;以及复杂的标注任务&#xff08;如分类、命名实体…