《新手用 Docker Compose 跑起第一个静态网站:从一条命令到自动重启》
很多新手第一次接触 Docker,卡住的不是概念,而是不知道从哪个文件下手。其实只要抓住一条主线:镜像负责“装什么”,容器负责“怎么跑”,Compose 负责“一次把多个容器编排好”。下面用一个最常见的场景练手:把一个静态网站跑起来。
先准备目录:新建 site 文件夹,里面放一个 index.html,内容随便写一句欢迎语。再在同级目录写 docker-compose.yml,只需要四行核心配置:services 下定义 web 服务,image 用 nginx:alpine(体积小、启动快),ports 把本机 8080 映射到容器 80,volumes 把 ./site 挂载到 /usr/share/nginx/html。这样改网页文件不用重建镜像,刷新浏览器就能看到新内容。
然后在该目录执行 docker compose up -d。第一次运行会拉取镜像,完成后访问 http://localhost:8080 就能看到页面。想确认容器状态,用 docker compose ps;看日志用 docker compose logs -f;改完配置想重启用 docker compose restart。
有两个细节建议新手一开始就养成习惯。第一,在 web 服务里加 restart: unless-stopped,这样机器重启后网站会自动恢复,不用手动再跑一遍。第二,不要把密码、密钥这类敏感信息直接写进 compose 文件,学习阶段可以用 .env 文件单独存放,并把 .env 加入 .gitignore,避免提交到代码仓库。
常见问题就三个:端口被占用就换一个本机端口,比如 8081:80;页面还是旧内容先清浏览器缓存,再检查 volumes 路径有没有写错;容器起不来先看 logs,九成是 yml 缩进问题,记住 YAML 不能用 Tab,只能用空格。
练完这个例子,再往后学就是把数据库、后端服务逐个加进同一个 compose 文件。编排的思路不变,只是服务变多。先把单服务跑通,比一上来背命令手册有效得多。
- 点赞
- 收藏
- 关注作者
评论(0)