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

速通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.lryc.cn/news/526062.html

相关文章:

  • LMI Gocator GO_SDK VS2019引用配置
  • 技术之翼,创作之心
  • WebSocket异步导出
  • OS2.【Linux】基本命令入门(1)
  • 【二叉树】4. 判断一颗二叉树是否是平衡二叉树。5. 对称二叉树。6. 二叉树的构建及遍历 7. 二叉树的分层遍历 。
  • OS Copilot功能测评:智能助手的炫彩魔法
  • MFC结构体数据文件读写实例
  • 音频 PCM 格式 - raw data
  • 关于deepin上运行Qt开发的程序
  • css 如何将字体进行压扁,即水平缩放scaleX
  • C++AVL树(二)详解
  • RocketMQ 的 Topic 和消息队列MessageQueue信息,是怎么分布到Broker的?怎么负载均衡到Broker的?
  • 无人机核心项目开发系列:从设计到实现的完整解析
  • 浅谈Redis
  • Ceisum无人机巡检直播视频投射
  • 【组件库】使用Vue2+AntV X6+ElementUI 实现拖拽配置自定义vue节点
  • Vue.js组件开发-如何实现全选反选
  • 2025.1.20——四、[强网杯 2019]Upload1 文件上传|反序列化
  • php代码审计2 piwigo CMS in_array()函数漏洞
  • docker搭建redis集群(三主三从)
  • [Datawheel]利用Zigent框架编写智能体-1
  • 【计算机视觉】人脸识别
  • linux环境变量配置文件区别 /etc/profile和~/.bash_profile
  • mac 配置 python 环境变量
  • 终极的复杂,是简单
  • 软件开发中的密码学(国密算法)
  • 【豆包MarsCode 蛇年编程大作战】蛇形烟花
  • Jmeter使用Request URL请求接口
  • 使用Pytest Fixtures来提升TestCase的可读性、高效性
  • Arduino大师练成手册 -- 读取DHT11