【Docker四】使用Docker-compose一键部署Wordpress平台

目录

一、YAML 文件格式及编写注意事项(重要)

1、yaml文件使用时注意事项:

2、yaml文件的基本数据结构:

2.1、声明变量(标量。是单个的不可再分的值,类型:字符串,整数,布尔类型)

2.2、list(列表):表示有序的元素集合

2.3、键值对映射:

2.4、注释:

2.5、引用:

2.6、字符串引号:

二、docker-compose

1、概述

2、docker-compose的常用命令:

3、docker-compose的三大概念

三、部署docker-compose

1、docker-compose安装:

2、创建工作目录,编写相关Dockerfile文件

3、编写配置文件docker-compose.yml

4、根据配置文件创建和启动容器

5、登录容器,进行相关操作

四、访问宿主机IP,安装Wordpress


一、YAML 文件格式及编写注意事项(重要)

yaml文件:是一种标记语言,以竖列的形式展示序列化的数据格式,可读性高

类似于json格式。语法比json简单

yaml通过缩进来表示数据结构,连续的项目用-减号来表示

1、yaml文件使用时注意事项:

  1. 大小写敏感
  2. 通过缩进表示层级关系
  3. 只能用空格缩进,不能用tab键
  4. 可以使用#号键注释
  5. 符号字符后面都有一个空格 test: 2
  6. 单引号引起来的字符,会被当做普通字符串处理。"#$*",若双引号引来的特殊字符表示本意

2、yaml文件的基本数据结构:

2.1、声明变量(标量。是单个的不可再分的值,类型:字符串,整数,布尔类型)
name: test
age:	20
tall: yes
handsan: yes
wan: no
2.2、list(列表):表示有序的元素集合
class:
  - test
  - test1
  - test2
2.3、键值对映射:
student: 
  name: test
  age: 20
student1:
  name: test1
  age: 18
2.4、注释:
#test
2.5、引用:
student: &id1
  name: test
  age: 20
student1: *id1
#用&来定义锚点,用*来进行引用
2.6、字符串引号:
name: 'test'
name: "test"
name: '$'		表示字符串
name: "$"	表示$这个字符

二、docker-compose

1、概述

docker-compose:单机容器编排

Dockerfile:先配置好文件,然后build,镜像——>容器。

docker-compose:即可基于Dockerfile,也可以基于镜像,可以一键式拉起镜像和容器

docker-compose是基于python开发的,能运行docker的平台,都能用docker-compose编排管理容器。

本质就是在yaml格式的docker-compose配置模板文件里定义多个容器的启动参数和依赖关系,并使用docker-compose根据这个模板文件的配置启动和管理容器集群。

docker-compose核心就是yml文件,可以定义容器的一切。通过yml配置,直接运行容器

docker:主要服务于单节点。docker没有统一对外提供服务的端口和配置。docker一般都是内部访问。无需使用https。如果要对外以集群和分布式的方式提供统一访问的端口,K8S+ingress

2、docker-compose的常用命令:


必须有docker-compose.yml文件

build:构建服务

ps:列出由docker-compose编排出来的容器

up:创建和启动容器

top:显示容器的进程

logs:查看容器的输出日志

down:删除容器,网络,数据卷

exec:在容器中执行命令

stop/start/restart:停止/启动/重启

scale:指定容器服务启动的数量(副本)。

3、docker-compose的三大概念

项目project -> 包含一个或多个服务service -> 包含一个或多个容器的镜像、映射端口、环境变量等启动参数

1)默认使用项目的目录名做project项目名,支持使用 -p 或 --project-name 来指定项目名;

2)在项目目录里要包含一个 docker-compose 配置模板文件,默认为 docker-compose.yml,支持使用 -f 或 --file 来指定项目的配置模板文件;

3)在配置模板文件里要包含一个或者多个服务,每个服务包含启动容器的名称、镜像、映射端口、环境变量、挂载点、网络模式、依赖关系等容器启动的配置参数。

4、docker-compose.yml文件格式:

version: '3'
#指定docker-compose的文件版本,解析代码的版本,声明解释器
services:
#定义需要运行的服务,声明服务,可以有多个services
  nginx:
    container_name: web1
#指定创建容器的名字
    hostname: nginx
#指定容器的主机名
    build:
#指定构建nginx的容器的上下文,以及dockerfile
      context: /opt/nginx
#指定Dockerfile的位置,如果用镜像换成image:
      dockerfile: Dockerfile
    ports:
      - 1213:80
#直接指定宿主机和容器的端口映射关系
    networks:
#声明给容器指定的IP地址
      mynet:
#自定义网络
        ipv4_address: 172.18.0.10
指定ip地址
    volumes:
       - /opt/www:/usr/local/src/nginx-1.22.0/html
networks:
#创建自定义网桥接口配置,#写在服务配置,赋予容器ip地址,写在定格,大的模块,创建网段!
  mynet:
    driver: bridge
#声明网段类型
    ipam:
#声明网段,IP地址的管理和配置
      config:
        - subnet: 172.18.0.0/16
#子网配置,指定IP地址的范围

三、部署docker-compose

1、docker-compose安装:

2、创建工作目录,编写相关Dockerfile文件

提前将目录和文件准备好,详情可参考昨天的dockerfile部署lnmp

https://blog.csdn.net/koeda1/article/details/134954286?spm=1001.2014.3001.5502

3、编写配置文件docker-compose.yml

编写配置文件docker-compose.yml
使用现有的镜像创建容器(本地/仓库) images: name:tag
或者现场构建,基于Dockerfile

version: '3'
services:
  nginx:
    hostname: nginx
    build:
      context: /opt/lnmp/nginx
      dockerfile: Dockerfile
    ports:
      - 1314:80
    container_name: nginx_server
    networks:
      lnmp:
        ipv4_address: 172.111.0.10
    volumes:
      - "nginx-data:/usr/local/nginx/html"

  mysql:
    hostname: mysql
    build: 
      context: /opt/lnmp/mysql
      dockerfile: Dockerfile
    ports:
      - 3306:3306
    container_name: mysql_server
    networks:
      lnmp:
        ipv4_address: 172.111.0.20
    privileged: true
#虽然我们登录容器,显示的是root用户,但是是伪root,一旦privileged是true,容器内的root和宿主机的root才拥有一样的权限,再生产中能不给就不给
    volumes:
      - "mysql-data:/usr/local/mysql/"

  php:
    hostname: php
    build:
      context: /opt/lnmp/php/
      dockerfile: Dockerfile
    ports:
      - 9000:9000
    container_name: php_server
    networks:
      lnmp:
        ipv4_address: 172.111.0.30
    volumes:
      - "nginx-data:/usr/local/nginx/html"
      - "mysql-data:/usr/local/mysql"

networks:
  lnmp:
    driver: bridge
    ipam:
      config:
        - subnet: 172.111.0.0/16

volumes:
  nginx-data:
  mysql-data:

4、根据配置文件创建和启动容器

docker-compose -f docker-compose.yml up -d

docker-compose:命令的开头,使用docker-compose进行容器编排

-f:使用特定的compose模版文件,一般都用docker-compose.yml

-p:project-name:指定项目名称,如果不加,会使用目录名称,可以不加

-d:后台运行

5、登录容器,进行相关操作

登录到Mysql容器给权限

create database wordpress;

grant all privileges on wordpress.* to 'wordpress'@'%' identified by '123456';

grant all privileges on *.* to 'root'@'%' identified by '123456';

flush privileges;

进入php容器,看挂载目录有没有挂载上:

四、访问宿主机IP,安装Wordpress

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Typescript中Omit数据类型的理解

在 TypeScript 中&#xff0c;Omit 是一个内置的工具类型&#xff0c;它用于从对象类型中排除指定的属性&#xff0c;并返回剩余的属性。 Omit 的语法如下所示&#xff1a; type Omit<T, K> Pick<T, Exclude<keyof T, K>>;其中&#xff0c;T 表示原始类型…

强制性产品认证车辆一致性证书二维码解析

目录 说明 界面 下载 强制性产品认证车辆一致性证书二维码解析 说明 二维码扫描出的信息为&#xff1a; qW0qS6aFjU50pMOqis0WupBnM21DnMxy0dGFN/2Mc9gENXhKh0qEBxFgfXSLoR qW0qS6aFjU50pMOqis0WupBnM21DnMxy0dGFN/2Mc9gENXhKh0qEBxFgfXSLoR 解析后的信息为&#xff1a…

佛山IBM System x3550 M4服务器维修检查

案例背景&#xff1a; 一家位于东莞的制造公司&#xff0c;在其佛山分厂中安装了一台IBM X3550 M4服务器作为其关键业务设备。该服务器负责管理和存储公司的生产数据、ERP系统和供应链数据。在生产过程中&#xff0c;该服务器突然发生了故障&#xff0c;导致佛山分厂的生产中断…

深度学习环境配置

一、Anaconda安装 下载&#xff1a;从清华大学开源软件镜像下载 镜像网址 出现base即为安装成功&#xff1a; 检查显卡的驱动是否正确安装&#xff1a; &#xff08;GPU可以显示出名称&#xff09; GPU0是集显集成显卡是主板自带的显卡。 GPU1是独显即独立显卡&#xff0c…

大数据组件:Hadoop

文章目录 1、Hadoop 是什么2、Hadoop 优势3、Hadoop 组成&#xff08;1&#xff09;HDFS&#xff08;2&#xff09;YARN&#xff08;3&#xff09;MapReduce 架构概述&#xff08;4&#xff09;HDFS、YARN、MapReduce 三者关系&#xff08;5&#xff09;大数据技术生态体系&…

【Java】图片资源转为Base64编码并返回

使用JDK把图片资源转为Base64编码并返回(免费分享&#xff0c;皆可复制粘贴) 在Java实际应用开发过程中&#xff0c;我们需要使用指定的背景图案&#xff0c;例如大型游戏中的一些基本图案&#xff0c;例如礼物、场景、武器造型等等&#xff0c;通俗来说就是图片源文件&#x…

Ubuntu系统的基础操作和使用

#ubuntuUbuntu系统的基础操作和使用包括以下几个方面&#xff1a; 1. 安装和启动&#xff1a;首先&#xff0c;需要下载Ubuntu镜像文件并使用虚拟机软件&#xff08;如VirtualBox&#xff09;创建虚拟机&#xff0c;将镜像文件安装在虚拟机中即可启动Ubuntu系统。 2. 桌面环境…

将开源免费进行到底,ThreadX开源电脑端GUIBuilder图形开发工具GUIX Studio

上个月微软刚刚宣布将ThreadX RTOS全家桶贡献给Eclipse基金会&#xff0c;免费供大家商用&#xff0c;宽松的MIT授权方式&#xff0c;就差这个GUIX Studio没有开源了&#xff0c;而且Windows还经常检索不到&#xff0c;并且也不提供离线包。 1、软件包有点大&#xff0c;700MB…

初识Pandas函数是Python的一个库(继续更新...)

学习网页&#xff1a; Welcome to Python.orghttps://www.python.org/https://www.python.org/https://www.python.org/ Pandas函数库 Pandas是一个Python库&#xff0c;提供了大量的数据结构和数据分析工具&#xff0c;包括DataFrame和Series等。Pandas的函数非常丰富&…

BI技巧丨钻取动态度量值

PowerBI自带的数据钻取功能&#xff0c;在实际应用中是用户使用度较高的功能之一&#xff0c;特别是需要实际操作的业务用户&#xff0c;往往需要根据汇总的结果定位到相关的明细数据&#xff0c;以便进行下一步的流程操作&#xff0c;这种场景下钻取功能显得尤为便利。 关于钻…

掌握魔法绘制图片、PDF剪辑器功能,智能生成AI文章,高效工作从此开始

在这个信息爆炸的时代&#xff0c;如何高效地处理和利用各种文件格式成为了我们日常工作的关键。今天&#xff0c;我们将为您介绍一款强大的工具&#xff0c;它能够智能生成AI文章&#xff0c;高效掌握魔法绘制图片和PDF剪辑器功能&#xff0c;为您的工作带来前所未有的便捷和高…

【送书活动】智能汽车、自动驾驶、车联网的发展趋势和关键技术

文章目录 前言01 《智能汽车》推荐语 02 《SoC底层软件低功耗系统设计与实现》推荐语 03 《SoC设计指南》推荐语 05 《智能汽车网络安全权威指南&#xff08;上册&#xff09;》推荐语 06 《智能汽车网络安全权威指南&#xff08;下册&#xff09;》推荐语 后记赠书活动 前言 …

jmeter,同一线程组内,调用cookie实现接口关联

取cookie方式参考上一篇&#xff1a;jemeter&#xff0c;取“临时重定向的登录接口”响应头中的cookie-CSDN博客 元件结构 登录后要执行的接口为“api/get_event_list/”&#xff0c;在该HTTP请求下创建HTTP信息头管理器&#xff0c;配置如下&#xff1a; 执行测试后&#xff0…

太阳能电池特性测试用太阳光模拟器24H光源

概述 太阳能模拟器是一种在室内模拟太阳光的设备&#xff0c;能够较为准确地模拟太阳辐射的准直性、均匀性和光谱特性。它的基本原理是利用人工光源模拟太阳光辐射&#xff0c;以克服太阳光辐射受环境、时间和气候等因素影响&#xff0c;并且总辐照度不能调节等缺点&#xff0c…

【NSX-T】10. 搭建NSX-T环境 —— 使用 BGP 配置 Tier-0 网关

目录 10.1 创建上行链路网段10.2 创建 Tier-0 网关&#xff08;1&#xff09;设置 Interface 信息&#xff08;2&#xff09;设置 BGP添加 BGP 邻居 &#xff08;3&#xff09;设置 BGP 路由重分发设置路由重新分发 10.3 连接 Tier-0 和 Tier-1 网关10.4 使用网络拓扑验证 Tier…

【树莓派】高级开发概述、开发环境搭建(内核镜像拷贝至树莓派并启动新内核)

一、树莓派开发环境搭建 二、Linux文件系统的目录结构 三、树莓派Linux源码目录树分析 四、树莓派Linux源码配置 五、如何配置树莓派的Linux内核 六、树莓派Linux内核编译 七、配置启动参数的cmdline.txt 一、树莓派开发环境搭建 树莓派官网 raspberrypi raspberrypi/tools…

laravel的安装

laravel的安装&#xff08;Composer小皮&#xff09; Composer的安装 windows下安装 https://getcomposer.org/Composer-Setup.exe 修改镜像 阿里云&#xff1a; composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/ 华为云&#xff1a; compos…

如何实现免费的文档翻译

文中有彩蛋&#xff0c;请一定要看完。 目录 文中有彩蛋&#xff0c;请一定要看完。 一、问题的提出 二、文档翻译现状 三、如何免费海量文档翻译 1. 采用CAT工具机器翻译API法 2. 采用小牛文档翻译 四、学后反思 一、问题的提出 随着互联网和人工智能技术的飞速发展&…

基于SSM框架的安全教育平台论文

基于SSM框架的安全教育平台 摘要 随着信息技术在管理上越来越深入而广泛的应用&#xff0c;管理信息系统的实施在技术上已逐步成熟。本文介绍了安全教育平台的开发全过程。通过分析安全教育平台管理的不足&#xff0c;创建了一个计算机管理安全教育平台的方案。文章介绍了安全…

Transformer的学习

文章目录 Transformer1.了解Seq2Seq任务2.Transformer 整体架构3.Encoder的运作方式4.Decoder的运作方式5.AT 与 NAT6.Encoder 和 Decoder 之间的互动7.Training Transformer 1.了解Seq2Seq任务 NLP 的问题&#xff0c;都可以看做是 QA&#xff08;Question Answering&#x…