连接已有的Docker容器FTP

5
我想知道是否有可能以某种方式FTP进入已存在的Docker容器?例如,我正在使用dockerfile/ghostjwilder/nginx-proxy结合使用,一旦部署/构建容器,我希望用户能够FTP进入运行Ghost的容器,以便上传其他文件,如主题、样式表等。完成此操作的最佳方法是什么?先行致谢!
2个回答

4

您有几个选择:

  • 在Ghost容器中运行ftp并公开端口
  • 使用主机目录存储用户内容并给予他们主机的FTP(不是最佳选择)
  • 将同一主机目录映射到Ghost容器和FTP服务器容器中

个人认为最后一个选择最好,也是最需要工作量的,但长期来看优势将是值得的。我做出了上传内容应该在容器终止时存活的假设,因此建议使用映射的主机目录,如果情况不是这样,则可以在FTP容器和Ghost容器之间使用链接卷。


1

可能最“dockery”的做法是为您的ftp服务器运行一个容器(例如https://github.com/gizur/docker-ftpserver),并为Ghost运行一个单独的容器,然后挂载一个共同的卷。

最好的同步方式是使用版本2的docker-compose.yml https://docs.docker.com/compose/compose-file/#volume-configuration-reference

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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接