Nginx FTP到现有Docker容器中

Nginx FTP到现有Docker容器中,nginx,ftp,docker,ghost-blog,Nginx,Ftp,Docker,Ghost Blog,我想看看是否有可能以某种方式FTP到已经存在的Docker容器中?例如,我正在结合使用,并且一旦我部署/构建了一个容器,我希望用户能够将FTP传输到运行Ghost的容器中,以便他们可以上载其他文件,例如主题、样式表等。实现这一点的最佳方法是什么?提前谢谢 您有几个选择: 在Ghost容器中运行ftp并公开端口 使用主机目录存储用户内容,并将其FTP发送到主机(不是最佳选择) 将同一主机目录映射到Ghost容器和FTP服务器容器中 就个人而言,我认为最后一个是最好的,也是最有效的,尽管从长远来

我想看看是否有可能以某种方式FTP到已经存在的Docker容器中?例如,我正在结合使用,并且一旦我部署/构建了一个容器,我希望用户能够将FTP传输到运行Ghost的容器中,以便他们可以上载其他文件,例如主题、样式表等。实现这一点的最佳方法是什么?提前谢谢

您有几个选择:

  • 在Ghost容器中运行ftp并公开端口
  • 使用主机目录存储用户内容,并将其FTP发送到主机(不是最佳选择)
  • 将同一主机目录映射到Ghost容器和FTP服务器容器中
就个人而言,我认为最后一个是最好的,也是最有效的,尽管从长远来看,它的优点是值得的。我假设上传的内容应该在容器终止后继续存在,这就是为什么我建议使用映射的主机目录,如果不是这种情况,您可以在FTP容器和Ghost容器之间使用链接卷

最“dockery”的方法可能是为ftp服务器运行一个容器(类似这样的东西),为ghost运行一个单独的容器,然后装载一个公共卷

同步这些文件的最佳方法是使用版本2 docker-compose.yml

docker compose.yml文件可能如下所示:

version: '2'
services:
  ghost:
    build:
      context: ./ghost
    ports:
      - "80:80"
      - "443:443"
    volumes:
      - "ftpsharevolume:/mnt/ftp"
    depends_on:
      - ftp
  ftp:
    image: someftpdockerimage
    volumes:
      - "ftpsharevolume:/srv/ftp"
    ports:
      - "21:21"
      - "20:20"
volumes:
  ftpsharevolume:
     driver: local