【实验】使用docker-compose编排lnmp(dockerfile) 完成Wordpress 部署

news2024/11/19 22:51:19
环境准备

docker:192.168.67.30

虚拟机:4核4G

关闭防火墙
systemctl stop firewalld 
systemctl disable firewalld
setenforce 0

安装docker

直接点击【复制】粘贴到xshell中即可,

执行过程中若出现睡眠(sleep)通过 kill -9 pid号 ,杀掉重新执行即可

#安装依赖包
yum -y install yum-utils device-mapper-persistent-data lvm2
#设置阿里云镜像
yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo 
#安装最新版本的docker
yum -y install docker-ce docker-ce-cli containerd.io
#设置开机自启
systemctl enable docker.service 
#镜像加速下载
mkdir -p /etc/docker
tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://fil0uwf5.mirror.aliyuncs.com"]
}
EOF
#重新加载配置,重启docker
systemctl daemon-reload
systemctl restart docker
#下载镜像
docker pull centos:7
docker images

部署nginx、mysql、php 镜像

请参考:http://t.csdnimg.cn/jmeMb 博客

docker-compose部署

#下载
curl -L https://github.com/docker/compose/releases/download/1.21.1/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
 
#安装
chmod +x /usr/local/bin/docker-compose
 
#查看版本
docker-compose --version

①直接拉取了docker-compose文件

②链接下载(太慢了,不建议用)

创建docker-compose.yml文件
cd /opt/lnmp/
vim /opt/lnmp/docker-compose.yml
i
version: '3'
services:
  nginx:
    container_name: fwl-nginx
    hostname: nginx
    build:
      context: /opt/lnmp/nginx
      dockerfile: Dockerfile
    ports:
      - 80:80
      - 443:443
    networks:
      lnmp:
        ipv4_address: 172.18.0.10
    volumes:
      - /opt/lnmp/nginx/html:/usr/local/nginx/html

  mysql:
    container_name: fwl-mysql
    hostname: mysql
    build:
      context: /opt/lnmp/mysql
      dockerfile: Dockerfile
    ports:
      - 3306:3306
    networks:
      lnmp:
        ipv4_address: 172.18.0.20
    volumes:
      - db-data:/usr/local/mysql
    privileged: true

  php:
    container_name: fwl-php
    hostname: php
    build:
      context: /opt/lnmp/php
      dockerfile: Dockerfile
    ports:
      - 9000:9000
    networks:
      lnmp:
        ipv4_address: 172.18.0.30
    volumes:
      - db-data:/usr/local/mysql
      - /opt/lnmp/nginx/html:/usr/local/nginx/html
    depends_on:
      - nginx
      - mysql

networks:
  lnmp:
    driver: bridge
    ipam:
      config:
        - subnet: 172.18.0.0/16
volumes:
  db-data:
拉取centos:7镜像

前面安装docker时如果创建过了,就不用再做了

执行前查看一下

执行docker-compose 创建镜像

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

登录mysql

xxxxxxxxxx docker exec -it mysql /bin/bash
mysql -uroot -p

#建库
create database wordpress;
#查看
show databases;
#赋权
grant all privileges on wordpress.* to 'wordpress'@'%' identified by '123456';
grant all privileges on *.* to 'root'@'%' identified by 'abc123';
#刷新
flush privileges;

浏览器访问
http://192.168.67.30/wordpress/index.php

点击【现在就开始!】

输入刚才创建的【数据库名】、赋权并创建的【用户名】和【密码】,点击【提交】

创建wp-config.php 文件
cd /opt/lnmp/nginx/html/wordpress/
ls
#备份后再修改
cp wp-config-sample.php wp-config.php
vim wp-config.php
i

修改23行的数据库名称

修改26行的用户名

修改29行的数据库密码

输入【用户名】、【密码】,勾选【确认使用弱密码】

输入你的【邮箱地址】

点击【安装WordPress】

点击【登录】

输入【用户名】和【密码】,勾选【记住我的登录信息】

点击【登录】

登录成功页

报错总结

无法拉取镜像

报错:WARNING: IPv4 forwarding is disabled. Networking will not work.

原因:IPv4转发可能被系统内核参数禁用;也可能是由于网络配置文件中的错误设置导致的

解决方法


#先检查是否能上网
ping baidu.com
#不能上网去改ifcfg-ens33,DNS1=114.114.114.114


#永久启用IPv4转发
vim /etc/systcl.conf
#找到并取消注释以下行(如果不存在则添加):
net.ipv4.ip_forward = 1
#保存文件后,运行以下命令使更改生效
sudo sysctl -p

地址池冲突

报错:ERROR: Pool overlaps with other one on this address space

原因:地址池冲突

解决:删除冲突的网路,或者修改要新建的网络地址池

mysql编译安装过程中报错

报错:make: *** [all] Error 2

原因:大概率时因为网络不稳定

解决:重新执行一边命令

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

扩展命令

删除所有已停止的容器
docker rm $(docker ps -aq)
批量停止容器
docker ps -a | awk 'NR>=2 {print "docker stop "$1}'|bash
vim 中的set: 命令
:set paste  命令用来启用或禁用粘贴模式,自动缩进、自动补全等功能
:set autoindent 命令来启用自动缩进功能
打包目录
tar -cf docker-compose-lnmp.tar.gz lnmp
上传到宿主机
sz docker-compose-lnmp.tar.gz
nginx 的启动和停止
启动:nginx
停止:nginx -s stop
重载配置文件:nginx -s reload

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

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

相关文章

库存管理系统开源啦

软件介绍 ModernWMS是一个针对小型物流仓储供应链流程的开源库存管理系统。该系统的开发初衷是为了满足中小型企业在有限IT预算下对仓储管理的需求。通过总结多年ERP系统研发经验&#xff0c;项目团队开发了这套适用于中小型企业的系统&#xff0c;以帮助那些有特定需求的用户。…

vector的使用

1.构造函数 void test_vector1() {vector<int> v; //无参的构造函数vector<int> v2(10, 0);//n个value构造&#xff0c;初始化为10个0vector<int> v3(v2.begin(), v2.end());//迭代器区间初始化,可以用其他容器的区间初始化vector<int> v4(v3); //拷贝…

【 书生·浦语大模型实战营】作业(六):Lagent AgentLego 智能体应用搭建

【 书生浦语大模型实战营】作业&#xff08;六&#xff09;&#xff1a;Lagent & AgentLego 智能体应用搭建 &#x1f389;AI学习星球推荐&#xff1a; GoAI的学习社区 知识星球是一个致力于提供《机器学习 | 深度学习 | CV | NLP | 大模型 | 多模态 | AIGC 》各个最新AI方…

jupyter notebook 设置密码报错ModuleNotFoundError: No module named ‘notebook.auth‘

jupyter notebook 设置密码报错ModuleNotFoundError: No module named ‘notebook.auth‘ 原因是notebook新版本没有notebook.auth 直接输入以下命令即可设置密码 jupyter notebook password

链表的带环问题 链表的深度拷贝

1.1. 链表是否带环 代码很简单&#xff0c;最主要就是如何证明 首先判断链表是否带环&#xff0c;可以定义两个指针&#xff0c;一个快指针一个慢指针。快指针走两步&#xff0c;慢指针走一步一定会相遇吗&#xff1f;有没有可能会超过&#xff1f;假设进环的时候fast和slow的…

87、动态规划-最长地址子序列

思路&#xff1a; 使用递归来理解题目&#xff0c;然后在看如何优化&#xff0c;假设我当前使用元素那么最长是多少&#xff0c;如果不使用当前元素最长是多少&#xff0c;然后取最大值。 代码如下&#xff1a; //算出最长递增子序列的长度public static int lengthOfLIS02(…

【机器学习】集成方法---Boosting之AdaBoost

一、Boosting的介绍 1.1 集成学习的概念 1.1.1集成学习的定义 集成学习是一种通过组合多个学习器来完成学习任务的机器学习方法。它通过将多个单一模型&#xff08;也称为“基学习器”或“弱学习器”&#xff09;的输出结果进行集成&#xff0c;以获得比单一模型更好的泛化性…

批量美化图片,轻松实现多张图片描边,让图片瞬间焕发新生!

图片已成为我们日常生活中不可或缺的一部分。无论是社交媒体上的个人分享&#xff0c;还是商业宣传中的产品展示&#xff0c;高质量、精美的图片都扮演着至关重要的角色。然而&#xff0c;对于许多人来说&#xff0c;图片处理仍然是一个令人头疼的问题。现在&#xff0c;我们为…

激动,五四青年节,拿下YashanDB认证YCP

&#x1f4e2;&#x1f4e2;&#x1f4e2;&#x1f4e3;&#x1f4e3;&#x1f4e3; 作者&#xff1a;IT邦德 中国DBA联盟(ACDU)成员&#xff0c;10余年DBA工作经验&#xff0c; Oracle、PostgreSQL ACE CSDN博客专家及B站知名UP主&#xff0c;全网粉丝10万 擅长主流Oracle、My…

SpringTask定时任务

SpringBoot项目定时任务 首先在启动类引入注解EnableScheduling然后在方法中加注解Scheduled(cron“”)cron表达式 生成cron https://www.pppet.net/

牛客热题:链表中的倒数最后K个节点

&#x1f4df;作者主页&#xff1a;慢热的陕西人 &#x1f334;专栏链接&#xff1a;力扣刷题日记 &#x1f4e3;欢迎各位大佬&#x1f44d;点赞&#x1f525;关注&#x1f693;收藏&#xff0c;&#x1f349;留言 文章目录 牛客热题&#xff1a;链表中的倒数最后K个节点题目链…

PHP医疗不良事件上报系统源码 AEMS开发工具vscode+ laravel8 医院安全(不良)事件报告系统源码 可提供演示

PHP医疗不良事件上报系统源码 AEMS开发工具vscode laravel8 医院安全&#xff08;不良&#xff09;事件报告系统源码 可提供演示 医院安全不良事件报告系统&#xff08;AEMS&#xff09;&#xff1b;分为外部报告系统和内部报告系统两类。内部报告系统主要以个人为报告单位&…

《苍穹外卖》Day12部分知识点记录——数据统计-Excel报表

一、工作台 需求分析和设计 接口设计 今日数据接口订单管理接口菜品总览接口套餐总览接口订单搜索&#xff08;已完成&#xff09;各个状态的订单数量统计&#xff08;已完成&#xff09; 代码实现 今日数据接口 1. WorkspaceController 注意不要导错包了 package com.sk…

【c++】继承学习(二):探索 C++ 中派生类的默认机制与静态成员共享

&#x1f525;个人主页&#xff1a;Quitecoder &#x1f525;专栏&#xff1a;c笔记仓 目录 1.派生类的默认成员函数2.继承与友元3.继承与静态成员 朋友们大家好&#xff0c;本篇文章我们来学习继承的第二部分 1.派生类的默认成员函数 来看下面的类&#xff1a; class Person…

K8S执行完毕kubectl init xxx 执行 kubectl get ns 报错才connect: connection refused

问题场景&#xff1a; 在安装完毕K8S之后&#xff0c;执行 kubectl get ns 报错&#xff1a; [rootmaster ~]# kubectl get pods E0501 08:34:55.770030 11268 memcache.go:265] couldnt get current server API group list: Get "https://192.168.1.100:6443/api?ti…

深度学习项目实战:Python深度强化学习求解动态旅行商问题

深度强化学习&#xff08;Deep Reinforcement Learning,DRL&#xff09;可以用于解决优化问题&#xff0c;尤其是具有复杂、高维度的状态空间和动作空间的问题。它结合了深度学习的强大表示能力和强化学习的学习框架&#xff0c;深度神经网络可以学习复杂的特征和模式&#xff…

【深耕 Python】Quantum Computing 量子计算机(1)图像绘制基础

一、绘制静止图像 使用matplotlib库绘制函数图像y sin(pi * x): import math import matplotlib.pyplot as pltx_min -2.0 x_max 2.0N 1000x1 [] y1 []for i in range(N 1):x x_min (x_max - x_min) * i / Ny math.sin(math.pi * x)x1.append(x)y1.append(y)plt.xl…

基于51单片机的交通灯设计—可调时间、夜间模式

基于51单片机的交通灯设计 &#xff08;仿真&#xff0b;程序&#xff0b;原理图&#xff0b;设计报告&#xff09; 功能介绍 具体功能&#xff1a; 1.四方向数码管同时显示时间&#xff1b; 2.LED作红、绿、黄灯 3.三个按键可以调整红绿灯时间&#xff1b; 4.夜间模式&am…

循环神经网络模块介绍(Pytorch 12)

到目前为止&#xff0c;我们遇到过两种类型的数据&#xff1a;表格数据和图像数据。对于图像数据&#xff0c;我们设计了专门的卷积神经网络架构(cnn)来为这类特殊的数据结构建模。换句话说&#xff0c;如果我们拥有一张图像&#xff0c;我们 需要有效地利用其像素位置&#xf…

85、动态规划-零钱兑换

思路&#xff1a; 还是老样子&#xff0c;还是先使用递归方式来解&#xff0c;然后通过递归推动态规划。那递归如何设计? 定义一个递归方法&#xff1a;表示从index开始到N达到剩下的值&#xff08;目标值减去上一步的值&#xff09;做少可以得到数量是多少。int process(in…