gpt4 book ai didi

Docker和文件上传服务器

转载 作者:行者123 更新时间:2023-12-02 20:27:30 31 4
gpt4 key购买 nike

我是 Docker 概念的新手,并试图弄清楚图像和容器是如何工作的。我目前有一个正在运行的服务器,能够在其上上传文件并使用 PHP 工具按需裁剪它们。 (这是这个问题的理论案例)。

据我了解:一种懒惰的方式是:

  • 使用正在运行的 apache 制作 ubuntu 图像,同时提供上传和裁剪服务。
  • 然后我会从这个图像运行一个容器并公开上传目录,以便上传的内容保存在我的计算机上的某个位置。

  • 任何时候上传的内容都不会存储在图像中,所有内容必须通过路径映射存储在容器内或我的计算机上。这是准确的吗?

    PS:我知道好的做法是在一个容器中提供一个上传服务,并在另一个运行容器中提供裁剪服务。

    最佳答案

    对,那是正确的。

    容器可以存储修改,如果需要,甚至可以保存到新图像中。但是,有一个限制(我认为大约 8 GB,除非您重新配置它)。对于构建图像库或分析大数据之类的事情,最好在运行命令中使用 -v 链接卷。选项。

    无论容器中发生什么,原始图像都不会被修改,除非您从主机显式覆盖该图像。例如,如果有人使用漏洞来劫持容器中的任务(例如针对容器中运行的第三方编写的糟糕代码的 SQL 注入(inject)),则只有一个容器被修改。您可以通过停止被利用的容器,复制一些日志文件以进行取证日志检查(使用 docker cp ),然后从镜像运行一个新容器(它仍然具有相同的弱点,但没有任何未经授权的更改可能存在于已停止的容器中)。

    在用于构建镜像的 Dockerfile 中,如果您的 apache 将在端口 80 上运行,您可能会暴露端口 80。稍后,当使用 docker run 运行容器时您可以选择是否公开端口 80 -p 80 ,或将其重新映射到另一个端口 -p 8080:80或随机重新映射-P

    关于Docker和文件上传服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29791703/

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