• 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
  • 相关阅读:
    NABCD项目分析
    第七周学习进度
    第六周学习进度
    构建之法阅读笔记03
    [算法] 求x的n次方的一种for循环实现
    [算法]分解质因数
    通过索引操作数组
    [swift入门] 数据类型
    二叉排序树 常用函数小结
    剑指 Offer 54. 二叉搜索树的第k大节点 做题小结
  • 原文地址:https://www.cnblogs.com/straycats/p/16002473.html
Copyright © 2020-2023  润新知