docker compose部署wordpress

准备机器:

192.168.58.151  (关闭防火墙和selinux)

安装好docker服务        (详细参照:http://t.csdnimg.cn/usG0s 中的国内源安装docker)

部署wordpress:

 创建目录:

[root@docker ~]# mkdir wordpress
[root@docker ~]# ls
anaconda-ks.cfg        wordpress       ip_fixed.sh      

获取wordpress的安装包:  cn.wordpress.org

 

 

服务器端下载:

[root@docker ~]# cd wordpress/
[root@docker wordpress]# wget https://cn.wordpress.org/latest-zh_CN.tar.gz

修改nginx.conf文件,并将其放在wordpress目录下

[root@docker wordpress]# cat nginx.conf 
# For more information on configuration, see:
#   * Official English Documentation: http://nginx.org/en/docs/
#   * Official Russian Documentation: http://nginx.org/ru/docs/user nginx;
worker_processes auto;
error_log /var/log/nginx/error.log;
pid /run/nginx.pid;# Load dynamic modules. See /usr/share/doc/nginx/README.dynamic.
include /usr/share/nginx/modules/*.conf;events {worker_connections 1024;
}http {log_format  main  '$remote_addr - $remote_user [$time_local] "$request" ''$status $body_bytes_sent "$http_referer" ''"$http_user_agent" "$http_x_forwarded_for"';access_log  /var/log/nginx/access.log  main;sendfile            on;tcp_nopush          on;tcp_nodelay         on;keepalive_timeout   65;types_hash_max_size 4096;include             /etc/nginx/mime.types;default_type        application/octet-stream;# Load modular configuration files from the /etc/nginx/conf.d directory.# See http://nginx.org/en/docs/ngx_core_module.html#include# for more information.server {listen      80;server_name www.itnzs.top;location / {root /usr/share/nginx/wordpress;index index.php;}location ~ \.php$ {root          /usr/share/nginx/wordpress;  #指定网站目录fastcgi_pass   127.0.0.1:9000;    #指定访问地址fastcgi_index  index.php;           #指定默认文件fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name; #站点根目录,取决于root配置项include        fastcgi_params;  #包含nginx常量定义}}# Settings for a TLS enabled server.
#
#    server {
#        listen       443 ssl http2;
#        listen       [::]:443 ssl http2;
#        server_name  _;
#        root         /usr/share/nginx/html;
#
#        ssl_certificate "/etc/pki/nginx/server.crt";
#        ssl_certificate_key "/etc/pki/nginx/private/server.key";
#        ssl_session_cache shared:SSL:1m;
#        ssl_session_timeout  10m;
#        ssl_ciphers HIGH:!aNULL:!MD5;
#        ssl_prefer_server_ciphers on;
#
#        # Load configuration files for the default server block.
#        include /etc/nginx/default.d/*.conf;
#
#        error_page 404 /404.html;
#            location = /40x.html {
#        }
#
#        error_page 500 502 503 504 /50x.html;
#            location = /50x.html {
#        }
#    }}

 在wordpress目录下创建Dockerfile 

[root@docker wordpress]# vim Dockerfile 
# 设置基础镜像
FROM daocloud.io/library/centos:7# 安装环境
RUN yum install -y epel-release \
; yum install -y nginx \
; yum install -y http://rpms.remirepo.net/enterprise/remi-release-7.rpm \
; yum install -y php80-php-xsl php80-php php80-php-cli php80-php-devel php80-php-gd php80-php-pdo php80-php-mysql php80-php-fpm \
; yum clean all# 将代码包拷贝到镜像中
# RUN wget https://cn.wordpress.org/latest-zh_CN.tar.gz
ADD latest-zh_CN.tar.gz /usr/share/nginx# 将配置文件拷贝到镜像中
COPY nginx.conf /etc/nginx/# 将启动脚本拷贝到镜像中
COPY docker-entrypoint.sh /# 在启动容器时执行脚本
CMD ["sh","/docker-entrypoint.sh"]

创建docker-entrypoint.sh文件并编辑,其目的是执行启动服务并将其hang住。

[root@docker wordpress]# vim docker-entrypoint.sh 
chmod 777 /usr/share/nginx/wordpress -R
nginx
/opt/remi/php80/root/usr/sbin/php-fpm
echo "nginx 和 php 启动成功"
tail -f /var/log/nginx/*

创建docker-compose.yaml文件,并进行编辑

[root@docker wordpress]# vim docker-compose.yaml 
version: '3'
services:wordpress:build: .container_name: wordpess-webports:- "80:80/tcp"- "443:443/tcp"links:- mysql:wordpess.db.comdepends_on:- mysqlmysql:image: mysql:5.7container_name: wordpess-dbenvironment:- MYSQL_ROOT_PASSWORD=123456- MYSQL_DATABASE=wordpressvolumes:- /opt/wordpress/:/var/lib/mysql

查看文件及镜像

[root@docker wordpress]# ls
docker-entrypoint.sh  Dockerfile  latest-zh_CN.tar.gz  nginx.conf  docker-compose.yaml[root@docker wordpress]# docker pull daocloud.io/library/centos:7
[root@docker wordpress]# docker pull mysql:5.7
[root@docker wordpress]# docker images
REPOSITORY                                               TAG       IMAGE ID       CREATED         SIZE
daocloud.io/library/centos                               7         7e6257c9f8d8   3 years ago     203MB
mysql                                                    5.7       c20987f18b13   23 months ago   448MB

 使用docker compose命令进行启动

[root@docker wordpress]# docker compose up
[+] Building 0.0s (0/0)                                                              
[+] Running 3/3✔ Network wordpress_default  Created                                           0.1s ✔ Container wordpess-db      Created                                           0.1s ✔ Container wordpess-web     Created                                           0.1s 
Attaching to wordpess-db, wordpess-web
····
wordpess-web  | nginx 和 php 启动成功
wordpess-web  | ==> /var/log/nginx/access.log <==
wordpess-web  | 
wordpess-web  | ==> /var/log/nginx/error.log <==

另启一个端口查询端口

[root@docker ~]# ss -nplt | grep 80
LISTEN     0      128          *:80                       *:*                   users:(("docker-proxy",pid=26740,fd=4))
LISTEN     0      128       [::]:80                    [::]:*                   users:(("docker-proxy",pid=26746,fd=4))

浏览器访问 ip  (192.168.58.151)

 

获取数据库ip   (下图中的IPAddress: 172.19.0.2)

[root@docker ~]# docker ps -a
CONTAINER ID   IMAGE                 COMMAND                   CREATED         STATUS         PORTS                                                                      NAMES
5d29b8a45292   wordpress-wordpress   "sh /docker-entrypoi…"   4 minutes ago   Up 4 minutes   0.0.0.0:80->80/tcp, :::80->80/tcp, 0.0.0.0:443->443/tcp, :::443->443/tcp   wordpess-web
0251a7f3cd9c   mysql:5.7             "docker-entrypoint.s…"   4 minutes ago   Up 4 minutes   3306/tcp, 33060/tcp                                                        wordpess-db[root@docker ~]# docker inspect 0
······"NetworkID": "1f2731089eddc996fec23766d403d49a4a7999eaedeadab0ebabeffbf4ad80e4","EndpointID": "158d94250df1b4e69aac769f9834f7a74ab7054fc995108bef873af5657d9115","Gateway": "172.19.0.1","IPAddress": "172.19.0.2","IPPrefixLen": 16,"IPv6Gateway": "","GlobalIPv6Address": "","GlobalIPv6PrefixLen": 0,"MacAddress": "02:42:ac:13:00:02","DriverOpts": null}}}}
]
[root@docker ~]# 

 

 浏览器端进行填写

 

后续操作可按需进行操作即可。 

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

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

相关文章

python学习3

大家好&#xff0c;今天又来更新python学习篇了。本次的内容比较简单&#xff0c;时描述性统计代码&#xff0c;直接给出所有代码&#xff0c;如下&#xff1a; import pandas as pd from scipy.stats import fisher_exact from fuzzywuzzy import fuzz from fuzzywuzzy impor…

仿易订货的订货系统源码一般多少钱

易订货是一款面向中小企业的B2B电子商务平台&#xff0c;旨在提供一站式的采购和销售解决方案。不少批发商贸企业在数字化转型的时候会采用订货系统&#xff0c;今天我们谈谈仿易订货的订货系统源码需要多少钱。 这款订货系统是一款SaaS&#xff0c;所以它是不面向市场销售源码…

STM32启动过程

STM32启动模式&#xff08;自举模式&#xff09; M3/3/7等内核&#xff0c;复位后做的第一件事&#xff1a; 从地址0x0000 0000处取出栈指针MSP的初始值&#xff0c;该值就是栈顶地址。从地址0x0000 0004处取出程序计数器指针PC的初始值&#xff0c;该值是复位向量。 芯片厂商…

【react.js + hooks】基于事件机制的跨组件数据共享

跨组件通信和数据共享不是一件容易的事&#xff0c;如果通过 prop 一层层传递&#xff0c;太繁琐&#xff0c;而且仅适用于从上到下的数据传递&#xff1b;建立一个全局的状态 Store&#xff0c;每个数据可能两三个组件间需要使用&#xff0c;其他地方用不着&#xff0c;挂那么…

C语言-Makefile

Makefile 什么是make&#xff1f; make 是个命令&#xff0c;是个可执行程序&#xff0c;用来解析 Makefile 文件的命令这个命令存放在 /usr/bin/ 什么是 makefile? makefile 是个文件&#xff0c;这个文件中描述了我们程序的编译规则咱们执行 make 命令的时候&#xff0c; m…

C++软件调试与异常排查技术从入门到精通学习路线分享

目录 1、概述 2、全面了解引发C软件异常的常见原因 3、熟练掌握排查C软件异常的常见手段与方法 3.1、IDE调试 3.2、添加打印日志 3.3、分块注释代码 3.4、数据断点 3.5、历史版本比对法 3.6、Windbg静态分析与动态调试 3.7、使用IDA查看汇编代码 3.8、使用常用工具分…

连锁管理系统是什么?有哪些功能?

连锁管理系统帮助门店实现POS收银管理、门店管理、采购订货管理、线上商城搭建、供应链管理一体化管理系统&#xff0c;快速提高门店管理效率&#xff0c;无论你的门店有多少&#xff0c;连锁总部都能通过系统随时洞察监管门店的所有运营数据。 连锁管理系统由&#xff1a;1个…

【线性代数】期末速通!

1. 行列式的性质 1.1 求一个行列式的值 特殊地&#xff0c;对角线左下全为0&#xff0c;结果为对角线乘积。行 r 列 c 1.2 性质 某行&#xff08;列&#xff09;加上或减去另一行&#xff08;列&#xff09;的几倍&#xff0c;行列式不变某行&#xff08;列&#xff09;乘 …

使用Jemeter对HTTP接口压测

我们不应该仅仅局限于某一种工具&#xff0c;性能测试能使用的工具非常多&#xff0c;选择适合的就是最好的。笔者已经使用Loadrunner进行多年的项目性能测试实战经验&#xff0c;也算略有小成&#xff0c;任何性能测试&#xff08;如压力测试、负载测试、疲劳强度测试等&#…

常见Appium相关问题及解决方案

问题1&#xff1a;adb检测不到设备 解决&#xff1a; 1.检查手机驱动是否安装&#xff08;win10系统不需要&#xff09;&#xff0c;去官网下载手机驱动或者电脑下载手机助手来辅助安装手机驱动&#xff0c;安装完成后卸载手机助手&#xff08;防止接入手机时抢adb端口造成干…

【FPGA】Verilog:编码器 | 实现 4 到 2 编码器

0x00 编码器&#xff08;Encoder&#xff09; 编码器与解码器相反。当多台设备向计算机提供输入时&#xff0c;编码器会为每一个输入生成一个与设备相对应的信号&#xff0c;因此有多少比特就有多少输出&#xff0c;以数字形式表示输入的数量。 例如&#xff0c;如果有四个输…

基于junit4搭建自定义的接口自动化测试框架

随着业务的逐步稳定&#xff0c;对于接口的改动也会逐渐变少。更多的是对业务逻辑的优化&#xff0c;功能实现的完善。对于测试来说&#xff0c;重复繁琐的功能测试不仅效率低下&#xff0c;而且耗费一定的人力资源。笔者支持的信息流业务下的一个图文管理平台就是一个功能较为…