Docker部署_docker部署网站

Docker部署_docker部署网站前言我们都爱用WordPress,(几乎)一行代码都不用写,就能得到一个好看、实用的动态网站。这东西用来敷衍帮助各种找你写奇怪小网站的朋友再好不过了。通常,帮朋友部署WordPress的这个场景下,你可以找朋友开一台新的服务器,初始化一套LAMP,直接把WordPress给wget进去,就可以在你的浏览器里完成配置了。有时候,比如您的朋友使用阿里云、百度云或是其他比较大的云服务商,您甚至可以直接初始化一个WordPress应用镜像,直接在浏览器里开始设置。但是,前两天我需要

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全家桶1年46,售后保障稳定

前言

我们都爱用 WordPress,(几乎)一行代码都不用写,就能得到一个好看、实用的动态网站。

这东西用来敷衍帮助各种找你写奇怪小网站的朋友再好不过了。通常,帮朋友部署 WordPress 的这个场景下,你可以找朋友开一台新的服务器,初始化一套 LAMP,直接把 WordPress 给 wget 进去,就可以在你的浏览器里完成配置了。 有时候,比如您的朋友使用阿里云、百度云或是其他比较大的云服务商,您甚至可以直接初始化一个 WordPress 应用镜像,直接在浏览器里开始设置。

但是,前两天我需要在自己的服务器上部署一个 WordPress 服务。我这样的蒟蒻当然是无缘使用世界上最好的编程语言—— PHP 的啦。没有 PHP,还部署个屁的 WordPress。装一个 PHP 吧,平时也不用,还增加了安全风险,不划算。

还是有一台全新的 LAMP 服务器好啊,但不可能再买一台服务器吧。所以就想到了—— Docker,用容器去把它装起来就好了嘛。

想到就动手做,接下来我们就看看怎么用 Docker 部署 WordPress。

所以,现在,您的服务器或个人电脑上应该已经安装好了 Docker,在绝大多数非 Windows 的常规系统下,安装 Docker 就是几条简单的命令。

在继续之前……

根据法律规定,任何探讨容器的文章都必须附上满载集装箱的集装箱船的图片,正如下图所示:

Docker部署_docker部署网站

(这个传统是从 IBM Developer 上的这篇文章 学的,咱也不知道为什么,但遵纪守法的优秀共青团员当然是要遵守规定的啦。)

拉取镜像

WordPress 这么常用的东西当然是有现成的镜像的,我们就不用自己去建了。

果断拉一个 wordpress 镜像:

1

Jetbrains全家桶1年46,售后保障稳定

$ docker pull wordpress:latest

然后,您应该知道,WordPress 需要 MySQL。

这里我们有两种选择,一是使用宿主机或是其他任何服务器上的 MySQL 数据库;二是用一个 MySQL Docker 镜像。为了方便,同时也多练习 Docker 的使用,我们干脆再拉一个 mysql 镜像,让整套服务完全在 docker 里运行:

1
$ docker pull mysql:latest

注意,这篇文章写在 2020 年春,所以这里 mysql:latest 是 MySQL V8.0.19 。

启动服务

废话不多说,有了镜像,我们直接开服务:

1
2
$ docker run -d --privileged=true --name Mysql_Test -v /data/mysql:/var/lib/mysql -e MYSQL_DATABASE=wordpress -e MYSQL_ROOT_PASSWORD=233333  mysql
$ docker run -d --name WordPress_Test -e WORDPRESS_DB_HOST=mysql -e WORDPRESS_DB_PASSWORD=233333 -e WORDPRESS_DB_USER=root -p 2020:80 --link Mysql_Test:mysql wordpress

OK,这就是 Docker 的魔力,不用装 PHP,不用为了安全悉心考虑、大肆设置,前前后后就 4 个命令搞的!(当然,我只是开一个简单的小服务,基本没人用,所以也就几乎没有安全风险,但您在部署的时候还是要花点时间认真考虑安全问题的)

接下来就是在您的浏览器访问 http://xxx:2020/wp-admin/index.php,完成 “著名的” wordpress 5分钟安装了!

但是……

当你满心欢喜打开您的新网站时,,你会发现,wordpress 提醒你:连不上 mysql。(我忘截图了,它会写一堆英文告诉你这个事,你能看懂)

Google 会告诉您,这个问题是由于 mysql 8 的默认用户认证方式改了,wordpress 不认识。要解决不难,打开 mysql 设置一下,把认证方式改成 WordPress 认识的样子就行:

1
$ docker exec -it Mysql_Test mysql -p

执行 mysql 命令:

1
2
3
4
mysql> use mysql;
mysql> select host, user, plugin from user;
mysql> ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '233333';
mysql> select host, user, plugin from user;

我们把 root 的 plugin 从 caching_sha2_password 改成了 mysql_native_password,这样就没问题了。

然后再次浏览器访问 http://xxx:2020/wp-admin/index.php,这次就应该是 “著名的” wordpress 5分钟安装了

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/213493.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • docker搭建kafka集群

    docker搭建kafka集群docker搭建kafka集群我在M1mbp上使用的以下镜像新建文件zk-kafka-docker-compose.ymlversion:”2″services:zookeeper:user:rootimage:docker.io/zookeeperports:-“12181:2181″environment:-ALLOW_ANONYMOUS_LOGIN=yesvolumes:-zoo

    2022年4月25日
  • docker 镜像构建_docker生成镜像

    docker 镜像构建_docker生成镜像前言如果我们已经安装了一个python3的环境,如果另一台机器也需要安装同样的环境又要敲一遍,很麻烦,这里可以配置Dockerfile文件,让其自动安装,类似shell脚本Dockerfile编写

    2022年7月29日
  • 基于Docker的Kafka集群搭建

    基于Docker的Kafka集群搭建1.pulldocker,在机器上下载最新版本的kafka和zookeeper镜像,这里使用的是wurstmeister的镜像dockerpullwurstmeister/kafkadockerpullwurstmeister/zookeeper2.装好的docker镜像3.启动zk容器Dockerrun–d–namezookeeper–p2181:…

    2022年6月9日
  • docker镜像操作_docker 本地镜像

    docker镜像操作_docker 本地镜像前言Docker的三大核心概念:镜像、容器、仓库。初学者对镜像和容器往往分不清楚,学过面向对象的应该知道类和实例,这跟面向对象里面的概念很相似我们可以把镜像看作类,把容器看作类实例化后的对象。|

    2022年7月30日
  • Docker离线安装教程「建议收藏」

    Docker离线安装教程「建议收藏」一、基础环境Centos7环境下载docker包,我们演示的是19.3.12下载地址将下载好的压缩包上传至服务器下二、开始安装解压docker包tar-zxvfdocker-19.03.12.tgz将解压后的文件复制到/usr/bin下cpdocker/*/usr/bin将docker注册为servicevi/etc/systemd/system/docker.service复制下列配置到docker.service并保存(:wq)[Un

    2022年9月26日
  • docker dockerfile详解_docker指令

    docker dockerfile详解_docker指令前言Dockerfile是一个用来构建镜像的文本文件,文本内容包含了一条条构建镜像所需的指令和说明。Dockerfile简介Dockerfile是用来构建Docker镜像的构建文件,是由一系列

    2022年8月6日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号