Docker 入门实操:十分钟跑起第一个容器
很多人第一次听说 Docker,都会问:它和虚拟机有什么区别?一句话说清:虚拟机是“搬一台电脑”,容器是“打包一个应用及其运行环境”。容器共享宿主机内核,启动只要秒级,占用资源也更少,所以本地开发、测试和上线可以用同一份镜像,减少“在我机器上能跑”的问题。
一、先确认环境
安装完成后,先用两条命令确认 Docker 能正常工作:
docker version
docker info
看到版本和服务端信息,说明守护进程已经就绪。接着跑官方的最小镜像做一次“冒烟测试”:
docker run hello-world
如果输出问候信息,说明拉取镜像、创建容器、运行进程、退出清理的完整链路都通了。
二、跑起第一个 Web 容器
不需要先写代码,直接用 Nginx 镜像起一个网站:
docker run -d --name my-web -p 8080:80 nginx
docker ps
curl 127.0.0.1:8080
这里 -d 是后台运行,–name 是给容器起名字,-p 8080:80 是把宿主机 8080 端口映射到容器 80 端口。打开浏览器访问本地 8080 端口,看到 Nginx 欢迎页就成功了。查看日志和停止清理也很简单:
docker logs my-web
docker stop my-web
docker rm my-web
三、用 Dockerfile 打包自己的应用
容器真正的价值在“可复制”。新建一个只有几行的静态页面 index.html,再写一个 Dockerfile:
FROM nginx:alpine
COPY index.html /usr/share/nginx/html/index.html
EXPOSE 80
构建并运行:
docker build -t my-web:1.0 .
docker run -d -p 8080:80 my-web:1.0
以后换一台机器,只要有这个镜像和 Dockerfile,就能得到同样的运行结果。改了页面就重新构建一个新版本,旧版本还能随时回退。
四、新手最容易踩的四个坑
第一,端口被占用:先用 docker ps 看看是不是已有容器占用了 8080,换个端口或停掉旧容器。第二,容器一启动就退出:多数是因为主进程结束了,检查命令是不是前台运行、日志里有没有报错。第三,数据丢了:容器删除后内部写入的文件默认不会保留,重要数据要用卷或挂载目录保存。第四,镜像拉取很慢:先检查网络和镜像源配置,不要反复删除重拉。
五、十分钟后的下一步
掌握上面这条主线后,可以再学三件事:用 docker compose 把“Web + 数据库”一次编排起来;用 .dockerignore 减小镜像体积;给镜像打上规范的版本号。容器技术本身不难,难的是养成“环境即代码”的习惯:把依赖、配置和启动方式都写进文件,而不是记在某台机器上。从今天的第一个容器开始,你的开发环境就已经可以被复制、被分享、被放心地部署了。
- 点赞
- 收藏
- 关注作者
评论(0)