gpt4 book ai didi

apache - 如何使用 docker 设置一个小型网站

转载 作者:行者123 更新时间:2023-12-02 05:17:28 24 4
gpt4 key购买 nike

我有一个关于 Docker 的问题。该容器的概念对我来说是全新的,我确信我还没有掌握事物的工作原理(容器、Dockerfile...)以及它们如何工作。

假设我想在同一个虚拟机上托管小型网站,其中包含 Apache、PHP-FPM、MySQL 以及可能的 Memcache。

这就是我的想法:

1) 一张包含 Apache、PHP、MySQL 和 Memcache 的镜像2) 一张或多张包含我的网站文件的图像

我必须找到一种方法来告诉我的第一个图像中,在 apache 中,托管网站的网站文件夹存储在哪里。然而,我不知道第一个容器是否可以读取另一个容器内的文件。

这里有人做过类似的事情吗?

谢谢

最佳答案

您的容器设置应该是:

  1. MySQL 容器
  2. Memcached 容器
  3. Apache、PHP 等
  4. 数据容器(可选)

运行 MySQL 并使用 -p 命令公开其端口:

docker run -d --name mysql -p 3306:3306 dockerfile/mysql

运行 Memcached

docker run -d --name memcached -p 11211:11211 borja/docker-memcached

运行您的 Web 容器并将 Web 文件从主机文件系统装载到容器中。它们将在容器内的 /container_fs/web_files/ 中提供。链接到其他容器以便能够通过 TCP 与它们通信。

docker run -d --name web -p 80:80                  \ 
-v /host_fs/web_files:/container_fs/web_files/ \
--link mysql:mysql \
--link memcached:memcached \
your/docker-web-container

在您的网络容器内查找环境变量 MYSQL_PORT_3306_TCP_ADDRMYSQL_PORT_3306_TCP_PORT 来告诉您在哪里连接到 mysql 实例,类似地 MEMCACHED_PORT_11211_TCP_ADDRMEMCACHED_PORT_11211_TCP_PORT > 告诉您在哪里连接到 memcached。

关于apache - 如何使用 docker 设置一个小型网站,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27041023/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com