发信人: hitmantb (hitmantb), 信区: Programming 标 题: 抛砖引玉:用DOCKER在$6刀服务器上跑多个HTTPS网站 发信站: BBS 未名空间站 (Fri Oct 4 22:30:04 2019, 美东) 个人小东西,弄了一圈还是觉得Digital Ocean这个$6刀(其实是五刀,自动备份一刀 )服务器是强无敌。 25GB SSD, 1GB内存,1TB流量,还自带STATIC IP,比马鬃收费透 明太多了。 这么多年从来没多收过我钱。 大部分小网站,这么一个服务器跑四五个都真的太浪费了,我就用DOCKER把每个网站封 装了起来。 DOCKER的好处就是保证每个程序互不干扰。 你无论是WORDPRESS/NODEJS/ DJANGO,MYSQL/MONGODB,服务器本身是永远干干净净的,绝不会互相干扰。无论想试 验个新东西,还是想拆下一个组件,都随心所欲。 安装DOCKER和DOCKER-COMPOSE用这个教程就可以了: https://www.digitalocean.com/community/tutorials/how-to-install-and-use- docker-on-ubuntu-18-04 1) 我大部分小网站用的是NODE/EXPRESS,在文件夹里加个dockerfile, 记得用alpine 的image,可以让文件大小缩水90%。 基础Dockerfile: https://pastebin.com/VEqsj7Ub 不需要的文件可以放在.dockerignore里面: 基础.dockerignore: https://pastebin.com/azPsTzVp 2) 然后build image docker build -t docker_username/app1 . 3) 因为不愿意买docker付费版,就在本地打包成TAR文件 docker save docker_username/app1 > app1.tar 4) SFTP上传到服务器以后,安装image docker load -i app1.tar 5) 在服务器上创建我这个docker-compose.yml(记得改域名和app名),用docker- compose启动NGINX PROXY和LETSENC