본문 바로가기

리눅스

Simple HTTP File Upload Server

728x90

Simple HTTP File Upload Server

  • 간단한 파일 업로드 및 다운로드 서버

1. docker-compose 파일 생성

vim docker-compose.yml
version: '3'
services:
  upload-server:
    image: julienmeerschart/simple-file-upload-download-server
    container_name: upload-server
    hostname: upload-server
    restart: unless-stopped
    environment:
       SERVER: "http://fb.sangchul.kr"
    volumes:
      - ./result:/app/uploads
    expose:
      - 3000/tcp
    ports:
      - 3000:3000

이 서비스는 호스트의 3000 포트와 컨테이너의 3000 포트를 맵핑하고, 파일을 저장하기 위해 호스트의 ./result 디렉토리와 컨테이너의 /app/uploads 디렉토리를 볼륨으로 연결합니다.

2. Docker Compose 파일 구문 확인

docker-compose.yml 또는 docker-compose.yaml을 구문 분석하여 컨테이너의 구성을 확인합니다.

Compose 파일에서 정의된 서비스, 네트워크, 볼륨 등의 구성 요소들을 확인할 수 있습니다.

3. 서비스 실행(도커 컨테이너 실행)

docker-compose up -d
728x90

4. 서비스 확인(도커 컨테이너 확인)

docker-compose ps
$ docker-compose ps
    Name                   Command               State           Ports
-------------------------------------------------------------------------------
upload-server   node /file/server.js 3000 /tmp   Up      0.0.0.0:3000->3000/tcp

5. 서비스 사용

이제 파일 업로드 및 다운로드 서버가 실행되었습니다.

웹 브라우저를 열고 http://localhost:3000 주소로 접속하면 파일 업로드와 다운로드를 할 수 있는 웹 페이지가 표시됩니다.

파일을 업로드하고 다운로드하여 서버를 사용할 수 있습니다.

6. 서비스 종료

docker-compose down

cURL 명령어로 파일 업로드

  • sample.txt 파일 생성
echo 'Hello, world!' > sample.txt
  • sample.txt 파일 업로드(file upload)
curl http://fb.sangchul.kr:3000 -F file=@sample.txt
$ curl http://fb.sangchul.kr:3000 -F file=@sample.txt
{"downloadLink":"http://fb.sangchul.kr:3000/file?file=sample.txt","curl":"curl http://fb.sangchul.kr:3000/file?file=sample.txt > sample.txt"}

 

참고URL

- dockerhub : https://hub.docker.com/r/julienmeerschart/simple-file-upload-download-server

 

728x90