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

dockerfile部署wordpress

1.将容器直接提交成镜像

[root@localhost ~]# docker commit 8ecc7f6b9c12 nginx:1.1
sha256:9a2bb94ba6d8d952527df616febf3fbc8f842b3b9e28b7011b50c743cd7b233b
[root@localhost ~]# docker images
REPOSITORY   TAG           IMAGE ID       CREATED         SIZE
nginx        1.1           9a2bb94ba6d8   7 seconds ago   236MB
rockylinux   9.3           583a894199be   5 hours ago     181MB

将容器的文件挂载到宿主机目录下,容器删除掉,它的文件也会存在

[root@lvs-server ~]# docker run -itd  -e MYSQL_ROOT_PASSWORD=QianFeng@123 -v /opt/data:/var/lib/mysql  mysql:8.0.38-oraclelinux9
fa63565b79532d028a09fc731496a02a0e442b2367b23c932ee6286e5e39f68d

前面的路径是宿主机的,后面的是容器的

构建容器

[root@lvs-server opt]# docker build -t dagou-rocky:1.0.7 .
[+] Building 0.1s (8/8) FINISHED                                                                          docker:default=> [internal] load build definition from Dockerfile                                                                0.0s=> => transferring dockerfile: 750B                                                                                0.0s=> WARN: MaintainerDeprecated: Maintainer instruction is deprecated in favor of using label (line 3)               0.0s=> [internal] load metadata for docker.io/library/rockylinux:9.3                                                   0.0s=> [internal] load .dockerignore                                                                                   0.0s=> => transferring context: 2B                                                                                     0.0s=> [1/3] FROM docker.io/library/rockylinux:9.3                                                                     0.0s=> [internal] load build context                                                                                   0.0s=> => transferring context: 92B                                                                                    0.0s=> CACHED [2/3] RUN yum -y install wget                                                                            0.0s=> CACHED [3/3] COPY ./nginx.conf /etc/nginx/nginx.conf                                                            0.0s=> exporting to image                                                                                              0.0s=> => exporting layers                                                                                             0.0s=> => writing image sha256:870ae144b4b45549edffbc53d16182d0445d8466934b256ac6302e321c3bf30e                        0.0s=> => naming to docker.io/library/dagou-rocky:1.0.7                  

创建容器

[root@lvs-server opt]# docker run -itd nginx:latest 
36151386fa9e9ea2c060936a1b6199f95371059c5a63e4744c387ba02de00a1f
nginx.conf

server {
    listen       80;
    server_name  localhost;
location / {
        root /usr/share/nginx/html/wordpress;
        index index.php;
}
location ~ \.php$ {
    root          /usr/share/nginx/html/wordpress;
    fastcgi_pass   127.0.0.1:9000;
    # fastcgi_pass unix:///run/php-fpm/www.sock;
    fastcgi_index  index.php;
    fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
    include        fastcgi_params;
}
}

nginx.repo

[nginx-stable]

name=nginx stable repo

baseurl=http://nginx.org/packages/centos/$releasever/$basearch/

gpgcheck=1

enabled=1

gpgkey=https://nginx.org/keys/nginx_signing.key

module_hotfixes=true

[nginx-mainline]

name=nginx mainline repo

baseurl=http://nginx.org/packages/mainline/centos/$releasever/$basearch/

gpgcheck=1

enabled=0

gpgkey=https://nginx.org/keys/nginx_signing.key

module_hotfixes=true

Dockerfile内容:

#写在第一行,定义使用的夫镜像是哪一个

FROM docker.io/library/rockylinux:9.3

#指定作者描述信息

MAINTAINER dagou

# RUN yum install -y epel-release

# RUN yum install -y nginx

#指定变量

# ARG VERSION=1.0

#ADD souce dest

#拷贝文件到镜像内

#1.支持网络资源拷贝,后面要加域名,如:http://www.example.com/file.tar.gz

#2.如果拷贝的是tar包,会自动的将tar包内的东西一同拷贝到镜像内,会自动解压

#1和2不可以同时使用

#给镜像打标签

LABEL MAINTAINER="dagou youxiang:192.168@qq.com build time='7-20'"

#构建镜像执行的命令

RUN yum -y install wget

#拷贝文件到镜像内

COPY ./nginx.conf /etc/nginx/nginx.conf

#暴露端口

EXPOSE 80 443

#如果是官网的nginx,首先创建一个以.repo结尾的文件,把官网的nginx源放进去

#COPY ./nginx.repo /etc/yum.repos.d/

#声明一个数据目录或者是配置目录,供容器使用(映射)

VOLUME [ "/usr/share/nginx/html"]

CMD [ "nginx","-g","daemon off;"]

php的配置文件

[www]
user = apache
group = apache
listen = 9000
listen.acl_users = apache,nginx
listen.allowed_clients = 127.0.0.1
pm = dynamic
pm.max_children = 50
pm.start_servers = 5
pm.min_spare_servers = 5
pm.max_spare_servers = 35
slowlog = /var/log/php-fpm/www-slow.log
php_admin_value[error_log] = /var/log/php-fpm/www-error.log
php_admin_flag[log_errors] = on
php_value[session.save_handler] = files
php_value[session.save_path]    = /var/lib/php/session
php_value[soap.wsdl_cache_dir]  = /var/lib/php/wsdlcache

dockerfile脚本

FROM rockylinux:9.3LABEL MAINTAINER="tom 2996215658@qq.com project="wordpress""
RUN yum install -y http://rpms.remirepo.net/enterprise/remi-release-9.rpm
RUN yum install php80-php-xsl php80-php php80-php-cli php80-php-devel php80-php-gd php80-php-pdo php80-php-mysql php80-php-fpm -y
COPY ./nginx.repo /etc/yum.repos.d/ 
# 安装nginx
# RUN yum install -y epel-release
RUN yum install -y nginxADD ./wordpress-5.9.1-zh_CN.tar.gz /usr/share/nginx/html
RUN chmod 777 -R /usr/share/nginx/html/wordpress
COPY ./nginx.conf /etc/nginx/conf.d/default.conf
EXPOSE  80 443
COPY ./docker-srart.sh /
CMD [ "sh","docker-srart.sh;" ]
# CMD [ "nginx","-g daemon off;"]
RUN /opt/remi/php80/root/usr/sbin/php-fpm

 注意:一定要授权

chmod 777   /var/opt/remi/php80/run/php-fpm/www.sock

构建映射端口

[root@lvs-server wordpress]# docker run -itd --name word -p 80:80 word:v2.2 
8f83a122abe1662f88d6eafe7088883da9fbe4029f340c277e1d0d3251af2b8b
[root@lvs-server wordpress]# docker ps
CONTAINER ID   IMAGE       COMMAND                CREATED         STATUS         PORTS                                        NAMES
8f83a122abe1   word:v2.2   "sh docker-srart.sh"   3 seconds ago   Up 2 seconds   0.0.0.0:80->80/tcp, :::80->80/tcp, 443/tcp   word

 登录数据库

[root@lvs-server wordpress]# docker run -itd -e MYSQL_ROOT_PASSWORD=qQ111111. -e MYSQL_DATABASE=wordpress  mysql:8.0.38-oraclelinux9 
a076f210120d87d25c04c7a690b2e35aec7231c34cdfc77ec645fd09ed43cbb0
[root@lvs-server wordpress]# docker ps
CONTAINER ID   IMAGE                       COMMAND                  CREATED          STATUS          PORTS                                        NAMES
a076f210120d   mysql:8.0.38-oraclelinux9   "docker-entrypoint.s…"   6 seconds ago    Up 5 seconds    3306/tcp, 33060/tcp                          relaxed_hopper
a7488c27d87a   word:v2.1                   "sh docker-srart.sh"     11 minutes ago   Up 11 minutes   0.0.0.0:80->80/tcp, :::80->80/tcp, 443/tcp   word
[root@lvs-server wordpress]# docker exec -it a0 /bin/bash
bash-5.1# mysql -pqQ111111.
mysql: [Warning] Using a password on the command line interface can be insecure.
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 9
Server version: 8.0.38 MySQL Community Server - GPLCopyright (c) 2000, 2024, Oracle and/or its affiliates.Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.mysql> show databses;
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'databses' at line 1
mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| sys                |
| wordpress          |
+--------------------+
5 rows in set (0.00 sec)mysql> 
[1]+  Stopped                 mysql -pqQ111111.

相关文章:

dockerfile部署wordpress

1.将容器直接提交成镜像 [rootlocalhost ~]# docker commit 8ecc7f6b9c12 nginx:1.1 sha256:9a2bb94ba6d8d952527df616febf3fbc8f842b3b9e28b7011b50c743cd7b233b [rootlocalhost ~]# docker images REPOSITORY TAG IMAGE ID CREATED SIZE nginx …...

CSS(二)——CSS 背景

CSS 背景 CSS 背景属性用于定义HTML元素的背景。 CSS 背景属性 Property描述background简写属性,作用是将背景属性设置在一个声明中。background-attachment背景图像是否固定或者随着页面的其余部分滚动。background-color设置元素的背景颜色。background-image把…...

开机出现grub无法进入系统_电脑开机出现grub解决方法

最近有小伙伴问我电脑开机出现grub无法进入系统怎么回事?电脑开机出grub的情况有很多,电脑上安装了Linux和Win10双系统,但是由于格式化删除了Linux之后,结果win10开机了之后,直接显示grub>,无法…...

uboot 设置bootargs配置内核网络挂载根文件系统

uboot 设置bootargs配置内核网络挂载根文件系统 uboot设置bootargs env set bootargs "mem256M consolettyAMA0,115200 root/dev/nfs init/linuxrc nfsrootnfs主机地址:nfs路径/busybox/rootfs_glibc_arm64,prototcp rw nfsvers3 rootwait ip板子地址:nfs主机地址:网关:2…...

Vue3+.NET6前后端分离式管理后台实战(三十一)

1,Vue3.NET6前后端分离式管理后台实战(三十一)...

22集 如何minimax密钥和groupid-《MCU嵌入式AI开发笔记》

22集 如何获取minimax密钥和groupid-《MCU嵌入式AI开发笔记》 minimax密钥获取 https://www.minimaxi.com/platform 进入minimax网站,注册登录后,进入“账户管理”, 然后再点击“接口密钥”,然后再点击“创建新的密钥”。 之…...

决策树的概念

决策树的概念 决策树是一种监督学习算法,主要用于分类任务。它通过构建一棵树结构模型来进行预测,其中每个内部节点表示一个特征属性上的判断条件,每条边代表一个判断结果对应的分支,而叶节点则代表最终的类别标签。 应用领域 …...

C++《类和对象》(中)

一、 类的默认成员函数介绍二、构造函数 构造函数名与类同名内置类型与自定义类型析构函数拷贝构造函数 C《类和对象》(中) 一、 类的默认成员函数介绍 默认成员函数就是⽤⼾没有显式实现,编译器会⾃动⽣成的成员函数称为默认成员函数。 那么我们主要学习的是1&…...

SpringBoot中JSR303校验

JSR是 Java EE 的一种标准,用于基于注解的对象数据验证。在Spring Boot应用中,你可以通过添加注解直接在POJO类中声明验证规则。这样可以确保在使用这些对象进行操作之前,它们满足业务规则。个人认为非常有用的,因为它减少了代码中…...

图像数据增强方法概述

图像数据增强方法概述 1. 什么是图像数据增强技术?2. 图像数据增强技术分类2.1 几何变换Python 示例代码 2.2 颜色变换2.3 噪声添加 3. 参考文献 1. 什么是图像数据增强技术? 基础概念:图像增强技术是计算机视觉和图像处理领域中的一个关键技术,主要用…...

【学习笔记】无人机系统(UAS)的连接、识别和跟踪(五)-无人机跟踪

目录 引言 5.3 无人机跟踪 5.3.1 无人机跟踪模型 5.3.2 无人机位置报告流程 5.3.3 无人机存在监测流程 引言 3GPP TS 23.256 技术规范,主要定义了3GPP系统对无人机(UAV)的连接性、身份识别、跟踪及A2X(Aircraft-to-Everyth…...

分享从零开始学习网络设备配置--任务6.1 实现计算机的安全接入

项目描述 随着网络技术的发展和应用范围的不断扩大,网络已经成为人们日常生活中必不可少的一部分。园区网作为给终端用户提供网络接入和基础服务的应用环境,其存在的网络安全隐患不断显现出来,如非人为的或自然力造成的故障、事故&#xff1b…...

双向链表(C语言版)

1. 双向链表的结构 注意:这里的“带头”跟单链表的“头结点”是两个概念,实际上在单链表阶段称呼不太严谨,但是为了更好地理解就直接称为单链表的头结点。带头链表里的头结点,实际为“哨兵位”,哨兵位结点不存储任何有…...

【算法/学习】前缀和差分

前缀和&&差分目录 1. 前缀和的概念及作用 🌈概念 🌈用途 🌙一维前缀和 🌙二维前缀和 2. 差分的概念及用途 🌈概念: 🌈用途 🌙一维差分 🌙二维差分 1. …...

idea Project 不显示文件和目录

idea Project 不显示文件和目录 File - Close Project - 重新打开项目即可删除.idea文件夹,重新打开项目即可。 原因分析: 可能与使用不同ide例如java、python打开同一项目有关 参考: https://blog.csdn.net/hgnuxc_1993/article/details/132595900 解决打开IDE…...

Linux--Socket编程预备

目录 1. 理解源 IP 地址和目的 IP 地址 2.端口号 2.1端口号(port)是传输层协议的内容 2.2端口号范围划分 2.3理解 "端口号" 和 "进程 ID" 2.4理解 socket 3.传输层的典型代表 3.1认识 TCP 协议 3.2认识 UDP 协议 4. 网络字节序 5. socket 编程接…...

100个python的基本语法知识【下】

50. 压缩文件: import zipfilewith zipfile.ZipFile("file.zip", "r") as zip_ref:zip_ref.extractall("extracted")51. 数据库操作: import sqlite3conn sqlite3.connect("my_database.db") cursor conn.c…...

Git如何将一个分支上的修改转移到另一个分支

在我们使用git进行版本控制时,当代码写错分支,怎么将这些修改转移到正确的分支上去呢?这时,我们可以使用git stath命令来暂存我们的修改,然后再切换到其他分支 未commit(提交)操作时 1. 先将修…...

jvm-证明cpu指令是乱序执行的案例

package jvm;/*** 证明cpu指令是乱序执行的** author 1* version 1.0* description: TODO* date 2024-07-19 9:31*/ public class T04_Disorder {private static int x 0, y 0;private static int a 0, b 0;public static void main(String[] args) throws InterruptedExcep…...

《流程引擎原理与实践》开源电子书

流程引擎原理与实践 电子书地址:https://workflow-engine-book.shuwoom.com 第一部分:流程引擎基础 1 引言 1.1 流程引擎介绍 1.2 流程引擎技术的发展历程 1.3 相关产品国内外发展现状 1.4 本书的内容和结构安排 2 概念 2.1 基础概念 2.2 进阶…...

多模态2025:技术路线“神仙打架”,视频生成冲上云霄

文|魏琳华 编|王一粟 一场大会,聚集了中国多模态大模型的“半壁江山”。 智源大会2025为期两天的论坛中,汇集了学界、创业公司和大厂等三方的热门选手,关于多模态的集中讨论达到了前所未有的热度。其中,…...

CVPR 2025 MIMO: 支持视觉指代和像素grounding 的医学视觉语言模型

CVPR 2025 | MIMO:支持视觉指代和像素对齐的医学视觉语言模型 论文信息 标题:MIMO: A medical vision language model with visual referring multimodal input and pixel grounding multimodal output作者:Yanyuan Chen, Dexuan Xu, Yu Hu…...

【OSG学习笔记】Day 18: 碰撞检测与物理交互

物理引擎(Physics Engine) 物理引擎 是一种通过计算机模拟物理规律(如力学、碰撞、重力、流体动力学等)的软件工具或库。 它的核心目标是在虚拟环境中逼真地模拟物体的运动和交互,广泛应用于 游戏开发、动画制作、虚…...

2024年赣州旅游投资集团社会招聘笔试真

2024年赣州旅游投资集团社会招聘笔试真 题 ( 满 分 1 0 0 分 时 间 1 2 0 分 钟 ) 一、单选题(每题只有一个正确答案,答错、不答或多答均不得分) 1.纪要的特点不包括()。 A.概括重点 B.指导传达 C. 客观纪实 D.有言必录 【答案】: D 2.1864年,()预言了电磁波的存在,并指出…...

React Native在HarmonyOS 5.0阅读类应用开发中的实践

一、技术选型背景 随着HarmonyOS 5.0对Web兼容层的增强,React Native作为跨平台框架可通过重新编译ArkTS组件实现85%以上的代码复用率。阅读类应用具有UI复杂度低、数据流清晰的特点。 二、核心实现方案 1. 环境配置 (1)使用React Native…...

srs linux

下载编译运行 git clone https:///ossrs/srs.git ./configure --h265on make 编译完成后即可启动SRS # 启动 ./objs/srs -c conf/srs.conf # 查看日志 tail -n 30 -f ./objs/srs.log 开放端口 默认RTMP接收推流端口是1935,SRS管理页面端口是8080,可…...

P3 QT项目----记事本(3.8)

3.8 记事本项目总结 项目源码 1.main.cpp #include "widget.h" #include <QApplication> int main(int argc, char *argv[]) {QApplication a(argc, argv);Widget w;w.show();return a.exec(); } 2.widget.cpp #include "widget.h" #include &q…...

python爬虫:Newspaper3k 的详细使用(好用的新闻网站文章抓取和解析的Python库)

更多内容请见: 爬虫和逆向教程-专栏介绍和目录 文章目录 一、Newspaper3k 概述1.1 Newspaper3k 介绍1.2 主要功能1.3 典型应用场景1.4 安装二、基本用法2.2 提取单篇文章的内容2.2 处理多篇文档三、高级选项3.1 自定义配置3.2 分析文章情感四、实战案例4.1 构建新闻摘要聚合器…...

CocosCreator 之 JavaScript/TypeScript和Java的相互交互

引擎版本&#xff1a; 3.8.1 语言&#xff1a; JavaScript/TypeScript、C、Java 环境&#xff1a;Window 参考&#xff1a;Java原生反射机制 您好&#xff0c;我是鹤九日&#xff01; 回顾 在上篇文章中&#xff1a;CocosCreator Android项目接入UnityAds 广告SDK。 我们简单讲…...

rnn判断string中第一次出现a的下标

# coding:utf8 import torch import torch.nn as nn import numpy as np import random import json""" 基于pytorch的网络编写 实现一个RNN网络完成多分类任务 判断字符 a 第一次出现在字符串中的位置 """class TorchModel(nn.Module):def __in…...