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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM