【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: testage: 20
student1:name: test1age: 18
2.4、注释:
#test
2.5、引用:
student: &id1name: testage: 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)在配置模板文件里要包含一个或者多个服务,每个服务包含启动容器的名称、镜像、映射端口、环境变量、挂载点、网络模式、依赖关系等容器启动的配置参数。

三、部署docker-compose

1、docker-compose安装:

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

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

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

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

version: '3'
services:nginx:hostname: nginxbuild:context: /opt/lnmp/nginxdockerfile: Dockerfileports:- 1314:80container_name: nginx_servernetworks:lnmp:ipv4_address: 172.111.0.10volumes:- "nginx-data:/usr/local/nginx/html"mysql:hostname: mysqlbuild: context: /opt/lnmp/mysqldockerfile: Dockerfileports:- 3306:3306container_name: mysql_servernetworks:lnmp:ipv4_address: 172.111.0.20privileged: true
#虽然我们登录容器,显示的是root用户,但是是伪root,一旦privileged是true,容器内的root和宿主机的root才拥有一样的权限,再生产中能不给就不给volumes:- "mysql-data:/usr/local/mysql/"php:hostname: phpbuild:context: /opt/lnmp/php/dockerfile: Dockerfileports:- 9000:9000container_name: php_servernetworks:lnmp:ipv4_address: 172.111.0.30volumes:- "nginx-data:/usr/local/nginx/html"- "mysql-data:/usr/local/mysql"networks:lnmp:driver: bridgeipam:config:- subnet: 172.111.0.0/16volumes: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

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

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

相关文章

SpringIOC之DependsOn

博主介绍:✌全网粉丝5W,全栈开发工程师,从事多年软件开发,在大厂呆过。持有软件中级、六级等证书。可提供微服务项目搭建与毕业项目实战,博主也曾写过优秀论文,查重率极低,在这方面有丰富的经验…

scikit_feature_selection实战

在进行李宏毅HW01作业时,需进行特征选择。 选用scikit-learn 中的feature_selection. 参考: selectkbest feature selection 实战注意点: chi 2 适用于非零的参数, 如果报错,换用 f_classif model SelectKBest(…

Unity 修改游戏对象的旋转角度Rotation的方法

在Unity中要修改游戏对象中的旋转角度,即下图中的Rotation: 有三个方法: 1、 使用欧拉角(Euler Angles):欧拉角是一组表示旋转的三个角度值(绕X轴的旋转、绕Y轴的旋转和绕Z轴的旋转)。 transf…

记一次webpack配置文件外置

前言 众所周知,webpack配置环境变量文件,是根据打包命令寻找对应的环境变量文件,从而获取接口地址。所以触发时机是在每次打包的时候,接口地址才会被打包进去,无法自由修改。 本次要求一次打包后,修改接口…

2019年第八届数学建模国际赛小美赛A题放射性产生的热量解题全过程文档及程序

2019年第八届数学建模国际赛小美赛 A题 放射性产生的热量 原题再现: 假设我们把一块半衰期很长的放射性物质做成一个特定的形状。在这种材料中,原子核在衰变时会以随机的方向释放质子。我们假设携带质子的能量是一个常数。质子在穿过致密物质时&#x…

重生奇迹MU翅膀合成方法

重生奇迹MU翅膀,攻击力和吸收伤害都相当强大,但是合成难度极高,下面给大家详解怎么合成! 方法/步骤 1、先到商店买加4追4物品,级别越高越好,可以买多个,数量越多,合成几率越高&…

html 基础学习笔记

Date:20231212 html标签 基础学习笔记 一、web和internet 1.1、Internet简介 Internet 是一个全球性的计算机互联网络,中文名称有"因特网"、“国际互联网”、“网际网”、"交互网络"等Internet提供的主要服务 Telnet、Email、www、BBS、FTP等…

通过css3的锚定滚动属性,实现分页加载时让滚动条不闪动

html标签 <div scroll"handleScroll" id"list-container"style"overflow-anchor:auto;overflow-y: auto;height: 80vh"><ul id"talks"v-for"(item,index) in msgList":key"item.roleiditem.timeitem.conten…

vue实现进入全屏和退出全屏

最近一个项目需要进行大屏展示&#xff0c;所以登录完就要处于一个全屏的状态&#xff0c;当切换到控制台之后就可以退出全屏。在登录之后调用enterFullscreen方法&#xff0c;就可以进入全屏。在点击切换到控制台时&#xff0c;可以调用exitFullscreen方法。 enterFullscreen…

04-Gateway网关中跨域问题的解决方案

跨域问题 详情参考Ajax请求的跨域问题处理方案 CORS方案 CORS是W3C标准全称是跨域资源共享(Cross-origin resource sharing),它允许浏览器向跨源服务器发出XMLHttpRequest请求从而克服了AJAX只能同源使用的限制 第一步: 在gateway模块的application.yml文件中添加允许跨域请…

【PWN】学习笔记(一)【二进制基础】

目录 课程教学一次简单的Hack程序的编译与链接Linux下的可执行文件格式ELF进程虚拟地址空间程序的编译与链接程序的装载与进程的执行x86&amd64汇编简述 课程教学 课程链接&#xff1a;https://www.bilibili.com/video/BV1854y1y7Ro/?vd_source7b06bd7a9dd90c45c5c9c44d12…

互动直播 之 播放器 类

目录 一、播放器类 1、两个静态变量 1)、静态变量定义 2)、静态变量赋值

ssh无密码自动登录实现原理

Linux命令ssh-keygen -t rsa用于生成公钥、私钥&#xff0c;其中RSA是一种非对称加密算法&#xff0c;可以用于加密和数字签名等操作。 生成公钥和私钥的原理&#xff1a; 利用RSA算法生成一对密钥&#xff0c;其中一个是私钥&#xff0c;另一个是公钥。 私钥只由持有者保存…

基于ssm的疫情物质管理系统论文

摘 要 进入信息时代以来&#xff0c;很多数据都需要配套软件协助处理&#xff0c;这样可以解决传统方式带来的管理困扰。比如耗时长&#xff0c;成本高&#xff0c;维护数据困难&#xff0c;数据易丢失等缺点。本次使用数据库工具MySQL和编程技术SSM开发的疫情物资管理系统&am…

离线运行Oracle Database In-Memory Advisor

概念 离线运行Oracle Database In-Memory Advisor&#xff0c;就是不在生产系统上运行。这样可以避免影响生产系统。但需要从生产系统导出以下的数据&#xff1a; AWR DumpAWR补充数据 过程 导出AWR Dump 连接到CDB root运行。 SQL> connect / as sysdba SQL> ?/r…

全能数据分析软件Tableau Desktop 2019 mac功能亮点

Tableau Desktop 2019 mac是一款专业的全能数据分析工具&#xff0c;可以让用户将海量数据导入并记性汇总&#xff0c;并且支持多种数据类型&#xff0c;比如像是编程常用的键值对、哈希MAP、JSON类型数据等&#xff0c;因此用户可以将很多常用数据库文件直接导入Tableau Deskt…

光栅化渲染:优化技巧

我们在前面的章节中介绍的所有技术都是光栅化算法的基础。 不过&#xff0c;我们只是以非常基本的方式实现了这些技术。 GPU 渲染管道和其他基于光栅化的生产渲染器使用相同的概念&#xff0c;但它们使用这些算法的高度优化版本。 展示用于加速算法的所有不同技巧远远超出了介绍…

富时中国a50指数期货:探寻涨跌脉络

富时中国A50指数期货是衡量中国大陆50家最具代表性上市公司的指数。作为衍生品交易市场的重要一环&#xff0c;A50指数期货是投资者关注的焦点之一。其涨跌走势直接反映了中国大陆股市的整体表现和投资者情绪。 A50指数期货简介 富时中国A50指数期货由新加坡交易所&#xff0…

免费且好用的 MySQL 客户端

DBeaver 支持 Mac、Windows、Linux&#xff0c;提供 Eclipse 插件。社区版免费&#xff0c;支持主流的关系型数据库 官网地址&#xff1a;DBeaver Community | Free Universal Database Tool MySQL WorkBench MySQL WorkBench 是官方出品的客户端&#xff0c;支持 Mac、Windo…

AntDB数据库参加ACDU中国行杭州站,分享数据库运维实践与经验

关于ACDU与中国行&#xff1a; ACDU是由墨天轮社区举办的中国数据库联盟的品牌活动之一&#xff0c;在线下汇集数据库领域的行业知名人士&#xff0c;共同探讨数据库前沿技术及其应用&#xff0c;促进行业发展和创新的平台&#xff0c;也为开发者们提供友好交流的机会。 AntD…