新手第一次用 Docker 部署小网站:从安装到避坑的完整记录
第一次把网站放上云服务器,我没有先学一堆理论,而是直接选了 Docker。理由很简单:环境打包在一起,换一台机器也能照着跑,不用每次都重新装一遍依赖。把这几天的过程记录下来,给同样第一次上手的同学参考。
一、先把 Docker 装起来
我用的是一台常见的 Linux 云服务器(Debian 系)。装 Docker 不难,按官方脚本几步就完成,装完先确认版本,再把当前用户加入 docker 组,省得每条命令都要加 sudo:
curl -fsSL https://get.docker.com | sh
docker --version
sudo usermod -aG docker $USER
重新登录一次终端后,组权限才会生效。
二、跑起第一个容器
先用官方的 nginx 镜像练手,一条命令就能让网站在浏览器里打开:
docker run -d --name my-web -p 8080:80 nginx
这里 -d 是后台运行,-p 8080:80 是把服务器的 8080 端口映射到容器里的 80 端口。执行完用 docker ps 能看到容器正在运行,再去访问服务器公网 IP 加 8080,看到 nginx 欢迎页就成功一半了。
三、我实际踩过的三个坑
坑一:页面打不开,先查安全组,不是先查 Docker。
容器明明在跑,浏览器却连不上。后来发现是云服务器的安全组没有放行 8080 端口。排查顺序建议是:先 docker ps 确认容器在跑,再 curl localhost:8080 在服务器本机验证,最后才去控制台看安全组入方向规则。顺序对了,五分钟就能定位。
坑二:没挂载数据卷,容器一删数据就没了。
练习时我把网页文件直接写进容器里,结果重建容器后文件全消失。正确做法是把宿主机目录挂进去:
docker run -d --name my-web -p 8080:80 -v /home/web:/usr/share/nginx/html nginx
这样网页文件放在服务器的 /home/web 里,容器删掉重建都不会丢。
坑三:镜像拉取很慢,先换思路而不是一直重试。
第一次拉镜像等了很久。后来发现选服务器地域时就尽量选离自己近的区域,拉取官方常用镜像时也可以先在本地网络好的环境测试命令对不对,避免把「网络慢」误判成「命令写错」。
四、日常够用的命令速查
docker ps:看正在运行的容器docker logs my-web:看容器日志,出问题先看它docker stop my-web/docker start my-web:停与启动docker images:看本地有哪些镜像docker system df:看 Docker 占了多少磁盘,练习机磁盘小要定期留意
小结
Docker 上手其实只有一条主线:装好引擎、跑起容器、把端口和数据卷这两件事做对。安全组放行和数据卷挂载,是新手最容易漏、又最容易在出问题时想不到的两点。先把这套最小流程跑通,再去碰 Docker Compose 和多容器编排,会顺很多。
- 点赞
- 收藏
- 关注作者
评论(0)