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 dockerfile详解_进入docker容器命令

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

    2022年7月29日
    4
  • pycharm 使用docker 配置环境「建议收藏」

    pycharm 使用docker 配置环境「建议收藏」前提:windowspycharm使用docker中的python3搭建运行环境配置环境:pycharmversion:2018.1.2docker18.03.1-ce-win65windows10专业版启动dockerdockerpullpython3##downloadpython3容器默认latest版本无需运行该容器,若需要安装…

    2022年8月25日
    8
  • docker启动mysql容器失败_docker容器

    docker启动mysql容器失败_docker容器什么是Docker?Docker是一种工具,它让容器创建,部署和运行应用程序变得更加容易。容器使开发人员可以将应用程序与所需的所有部分(如库和其他依赖项)打包在一起,并将其作为一个包进行部署。这样,借助容器,开发人员可以放心,该应用程序可以在任何其他Linux机器上运行,而不用管该机器的环境配置。安装DockerDesktop前往官方网站:www.docker.com/get-started根据操作系统,下载并安装对应的DockerDesktop。验…

    2022年10月5日
    3
  • 【云原生】Docker镜像和容器的导入导出及常用命令

    【云原生】Docker镜像和容器的导入导出及常用命令本文是对Docker的镜像和容器的一些操作指令的汇总,比如镜像和容器的导入导出,以及一些在使用过程中的常用命令。

    2025年9月18日
    6
  • spring boot docker部署_docker部署java项目

    spring boot docker部署_docker部署java项目目录docker介绍安装dockerUbuntu安装dockerCentOS安装docker通过脚本安装创建springboot项目docker介绍Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的Linux或Windows机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。docker的核心思想是…

    2022年10月10日
    3
  • docker 镜像构建_docker生成镜像

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

    2022年7月30日
    8

发表回复

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

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