• docker 部署ftp


    ===============================================

     2022/3/13_第1次修改                       ccb_warlock

     

    ===============================================

    今年1月份在给一个项目做优化时需要部署ftp,故做此记录给需要的人。

    PS. 由于我在笔记本上一般采取docker run或docker stack,而且docker compose和docker stack语法和用法类似,所以后续整理记录时我便不再描述docker compose部分。

     


    一、部署docker

    docker参考:https://www.cnblogs.com/straycats/p/10680502.html

    swarm参考:https://www.cnblogs.com/straycats/p/8978135.html

     

    二、部署ftp容器

    2.1 创建目录

    mkdir -p /Users/mbp/docker/vol/vsftpd
    mkdir -p /Users/mbp/docker/compose

    2.2 创建网络

    # 本地用的network

    docker network create \
      --driver=bridge \
      --subnet=172.11.0.0/16 \
      --ip-range=172.11.0.0/16 \
      --gateway=172.11.0.1 \
      --attachable \
      local-net

    # swarm用的network

    docker network create \
      --driver=overlay \
      --subnet=172.12.0.0/16 \
      --ip-range=172.12.0.0/16 \
      --gateway=172.12.0.1 \
      --attachable \
      swarm-net

    2.3 创建容器

    2.3.1 run方式

    docker run -d \
      --name vsftpd \
      -v /Users/mbp/docker/vol/vsftpd/data:/home/vsftpd \
      -p 38020:20 \
      -p 38021:21 \
      -p 38022:38022 \
      -e TZ=Asia/Shanghai \
      -e PASV_ENABLE=YES \
      -e PASV_ADDRESS=127.0.0.1 \
      -e FTP_USER=myftp \
      -e FTP_PASS=123456 \
      -e PASV_MIN_PORT=38022 \
      -e PASV_MAX_PORT=38022 \
      --network local-net \
      --restart on-failure \
      fauria/vsftpd

    PS.如果需要移除该容器,可以使用命令

    docker stop vsftpd && docker rm vsftpd

    2.3.2 stack方式

    # 编辑vsftpd-stack.yml

    vi /Users/mbp/docker/compose/vsftpd-stack.yml

    将下面的内容添加到vsftpd-stack.yml内。

    version: '3.7'
    services:
    
      vsftpd:
        image: fauria/vsftpd
        environment:
          - TZ=Asia/Shanghai
          - PASV_ENABLE=YES
          - PASV_ADDRESS=127.0.0.1
          - FTP_USER=myftp
          - FTP_PASS=123456
          - PASV_MIN_PORT=38022
          - PASV_MAX_PORT=38022
          #- FILE_OPEN_MODE=0777
        volumes:
          - /Users/mbp/docker/vol/vsftpd/data:/home/vsftpd
          #- /Users/mbp/docker/vol/vsftpd/log:/var/log/vsftpd
        deploy:
          replicas: 1
          restart_policy:
            condition: on-failure # any 
          resources:
            limits:
              cpus: "1"
              memory: 512M
          update_config:
            parallelism: 1
            delay: 5s
            monitor: 10s
            max_failure_ratio: 0.1
            order: start-first
        ports:
          - 38020:20
          - 38021:21
          - 38022:38022
        networks:
          - swarm-net
    
    networks:
      swarm-net:
        external: true

    # 创建栈

    cd /Users/mbp/docker/compose
    docker stack deploy -c vsftpd-stack.yml vsftpd-stack
  • 相关阅读:
    OpenCV学习笔记(一)
    scrapy学习笔记一
    Mac上使用selenium自动运行chrome
    【js Utils】web前端工具帮助类kikyoUtils
    【jq 分享】伪微信分享
    【Winform 动图】winform窗体显示动图
    【 Base<T> 】IBaseDao 和 IBaseService 通用 基类 实现
    【js 是否手机】JavaScript判读当前是否是手机端
    【Spring helper】在controller和service间添加业务处理helper类
    【 spring resources 】maven项目resources文件夹,配置文件的spring加载方式
  • 原文地址:https://www.cnblogs.com/straycats/p/16002473.html
Copyright © 2020-2023  润新知