在本文中,我将向您展示如何以一种更轻松的方式设置Docker。 Docker拥有WordPress的官方图像,可以更轻松地开始。我们还将查看Docker撰写的类似于Heroku的配置。毕竟,手动建造和管理容器可以进行大量工作。
官方WordPress Docker Image>在开始之前,请确保您创建一个新文件夹并在该文件夹中导航。
接下来,在Docker Hub上搜索“ WordPress”并拉动该图像。
然后,从中构建一个容器。
docker run --name wordpressdb <span>-e MYSQL_ROOT_PASSWORD=password -e MYSQL_DATABASE=wordpress -d mysql:5.7</span>
>我们看到了两个环境变量。 WordPress_DB_Password是我们用户的数据库密码。但是我们尚未指定这一点。不过请放心,此图像将使用我们尚未指定的环境变量(首次创建容器时)使用默认值。例如,如果我们不定义WordPress_db_user,将是根。与WordPress的数据库名称同样适用于默认值。查看官方文档以获取其他环境变量。 -d使容器在后台运行。我们看不到容器的IP地址,以使此执行Docker Inspect WordPress获取其IP和端口。我的是172.17.0.10,端口为80。使用Docker Inspect,您可以找到有关容器的许多有用信息。
>>访问浏览器中WordPress容器的IP,您会看到类似的东西:
这个示例的问题是我们无法访问WordPress文件,而且每次启动容器时,都会更改其IP。但是我们可以轻松解决这两个问题。
docker run --name wordpressdb <span>-e MYSQL_ROOT_PASSWORD=password -e MYSQL_DATABASE=wordpress -d mysql:5.7</span>
这是一个很长的命令,我们在这里看到了两个新参数。 -p和-v参数。 -p参数用于端口映射。在容器内部,Apache在端口80上运行。我们告诉Docker,我们将使用端口8080与容器内的端口80进行通信。另外,我们将127.0.0.2指定为此容器的IP。 -v“ $ pwd/”:/var/www/html将映射两个文件夹。默认情况下,容器将WordPress文件放在/var/www/html目录中,该目录是容器内部的文件系统(这与我们的本地文件系统无关)。查看您当前的目录,您会看到一些其他文件。
使用新容器,您现在可以在我们的文件系统中修改文件。在上一个示例中,能够写入我们的文件系统是更多的工作。此方法要简单得多。但是可以更简单吗?当然可以!
这个工具以无花果名称(不是由Docker团队)作为开源,更容易管理多个容器的解决方案。现在,该工具由Docker正式维护(以Docker撰写的名称)。移动作曲之前,请确保首先安装它。您只需要一个Docker-compose.yml文件和一个新的项目文件夹。在此文件中,我们将编写构建WordPress和MySQL容器所需的所有配置。 Docker构成,就像Docker CLI一样,使用Docker守护程序来创建容器,因此基本上您可以使用CLI进行几乎所有的操作。
让我们看看一个示例:
docker run --name wordpressdb <span>-e MYSQL_ROOT_PASSWORD=password -e MYSQL_DATABASE=wordpress -d mysql:5.7</span>
>大多数读者应该熟悉这一点。 Web和MySQL是容器的名称。当这些容器是由组合构建时,实际名称是不同的。由Compose创建的容器具有一个名称,例如[foldername] compose_ [containname] _ [number]。 [foldername]将是docker-compose.yml的父文件夹,[containName]在这种情况下为web或mysql,[number]将是容器的数量。组成的好处是,您可以拥有一种以上的一种类型的容器。我们可以有两个网络容器。在这种情况下,他们的名称为[foldername] compose_web_1和[foldername] compose_web_2。这也适用于docker-compose.yml(例如mySQL容器)中定义的其他容器。
使用一种类型的容器时,您需要指定单独的IP地址。
docker pull wordpress这是-e wordpress_db_password = password。
这就像-link mysql:mysql。
docker run <span>-e WORDPRESS_DB_PASSWORD=password -d --name wordpress --link wordpressdb:mysql wordpress</span>
这就像-p 127.0.0.3:8080:80。
docker run -e <span>WORDPRESS_DB_PASSWORD=password -d --name wordpress --link wordpressdb:mysql -p 127.0.0.2:8080:80 -v "$PWD/":/var/www/html wordpress</span>
>要了解有关Docker Compose命令和Docker-Compose.yml的更多信息,您可以在此处找到CLI参考,并在此处找到Docker-Compose.yml参考。
>现在您已经获得了docker-compose.yml文件,执行docker-compose并组成将开始为您构建容器。导航到127.0.0.3:8080,您将再次看到一个欢迎页面。现在,我们需要的只是访问WordPress文件。> 正如我们之前讨论的那样,要访问本地文件系统上的WordPress文件,我们需要执行诸如-v“ $ pwd/”:/var/var/www/html之类的事情。您应该添加一个工作目录并映射两个文件夹(一个在容器中,一个在本地文件系统上)。为此,我们只添加以下两行:
>working_dir告诉WordPress映像在该目录中安装WordPress。卷:诸如-v“ $ pwd/wordpress”的行为:/var/www/html/wp -content。 WordPress文件属于/var/www/html文件夹。我们实际上只对WP-Content文件夹感兴趣,因为那是我们的插件和主题居住的地方。毕竟,大多数开发人员仅处理此文件夹。
> 再次执行Docker-Compose。如果您在Linux上,则应将WordPress文件夹(本地文件夹)的权限更改为写入。这是因为容器是由Docker Daemon创建的,该过程始于系统启动(由Sudo用户)开始。要解决此执行:
web: image: wordpress links: -<span> mysql </span><span> environment: </span> -<span> <span>WORDPRESS_DB_PASSWORD=password </span></span><span> ports: </span> -<span> <span>"127.0.0.3:8080:80" </span></span><span>mysql: </span> image: mysql:5.7 environment: -<span> <span>MYSQL_ROOT_PASSWORD=password </span></span><span> - <span>MYSQL_DATABASE=wordpress</span></span>
>您现在将写入这些文件夹的访问权限,您会很好!
结论>在本文中,我们看到了如何使用官方的WordPress Docker映像,并快速介绍了Docker撰写。如果您尚未在本系列中检查过以前的文章,则可以在下面找到它们:
<span>environment: </span><span> - WORDPRESS_DB_PASSWORD=password</span>>
如果您已经阅读了这一系列,那么现在应该更好地了解Docker的工作方式的基本概念。现在,您应该能够使用使事情变得更容易的抽象和工具。如果您有任何疑问,请在下面发表评论。我知道这是我第三次问,但是如果您考虑将Docker在下一个项目中使用Docker,我很感兴趣?
经常询问有关使用官方Docker WordPress Image
的问题(常见问题解答)>如何安装官方的Docker WordPress Image?
如何使用Docker WordPress映像运行WordPress站点?
>如何配置Docker WordPress Image? >
可以使用环境变量配置Docker WordPress图像。使用-e选项创建容器时,可以设置这些变量。例如,要设置WordPress数据库名称,您可以使用命令docker运行-e wordpress_db_name = mydbname -d wordpress。 Docker WordPress映像,您需要使用命令Docker Pull WordPress从Docker Hub中取出最新版本的图像。下载了最新图像后,您可以从更新的图像中创建一个新容器。>
>>我如何对Docker WordPress image的问题进行故障排除?
以对Docker WordPress Image的问题进行故障排除。 ,您可以使用Docker Logs命令查看WordPress容器的日志。这可以提供有关可能发生的任何错误或问题的有价值的信息。我可以在生产环境中使用Docker WordPress图像吗?为了保护您的WordPress网站,您应始终使用最新版本的Docker WordPress映像,其中包括最新的安全补丁。您还应该配置WordPress站点以使用HTTP,并定期备份WordPress文件和数据库。
>以上是如何使用官方Docker WordPress图像的详细内容。更多信息请关注PHP中文网其他相关文章!