대충 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