Skip to content

Instantly share code, notes, and snippets.

@luncliff
Last active November 17, 2020 11:48
Show Gist options
  • Save luncliff/57f3d09659ba1f3b3c63a19908648da7 to your computer and use it in GitHub Desktop.
Save luncliff/57f3d09659ba1f3b3c63a19908648da7 to your computer and use it in GitHub Desktop.
급하게 HTTP file server를 띄워야 할때 쓰는 Docker Compose

대충 vscode, http 서버가 /mnt폴더를 workspace로 구동하게 만들고, 지정한 host_storage를 여기에 바인딩한다.

# docker-compose.yaml
version: "3"

volumes:
  host_storage:
    driver: local # for local mount
    driver_opts:
      type: "none"
      o: "bind"
      device: "/home/user"

services:
  vscode:
    image: codercom/code-server # https://hub.docker.com/r/codercom/code-server
    ports:
      - 9000:8080
    volumes:
      - host_storage:/mnt
    entrypoint: ["/usr/bin/entrypoint.sh", "/mnt", "--bind-addr", "0.0.0.0:8080", "--auth", "none"]

  http:
    image: codeskyblue/gohttpserver # https://hub.docker.com/r/codeskyblue/gohttpserver
    ports:
      - 9001:80
    volumes:
      - host_storage:/mnt
    entrypoint: ["/app/gohttpserver", "--root=/mnt", "--upload", "--port", "80"]

파일이 작성된 폴더에서 그대로 docker-compose 명령을 사용한다.

user:host$ tree -L 1 $(pwd)
~/http-file-service
└── docker-compose.yaml

0 directories, 1 file

시작

docker-compose up

종료

docker-compose down

파일 경로를 바꾸고 싶을 때는 Docker Volume을 변경해야 하는데, up 할때 자동으로 다시 생성되므로 지워버리고 다시 실행시키는게 편하다.

docker volume prune
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment