Docker 入门:十分钟打包并运行你的第一个容器
一、为什么需要 Docker
在本地跑得好好的程序,换一台机器就报错,是很多开发者的共同经历:依赖版本不一致、环境变量缺失、系统库不同。Docker 把应用和运行所需的环境打包成一个镜像,不管在哪里运行,行为都一致。对新手来说,它最大的价值就是“一次构建,处处运行”,以及能快速搭建开发和测试环境。
二、镜像与容器:两个核心概念
镜像是只读的模板,包含操作系统、运行环境和应用代码;容器是镜像运行起来的实例,可以启动、停止和删除。打个比方,镜像是安装包,容器是安装好并正在运行的程序。一个镜像可以启动多个容器,彼此互不干扰。
三、安装与验证
在官网下载 Docker Desktop(Windows / macOS),Linux 可以用包管理器安装。安装完成后执行:
docker version
docker run hello-world
看到 “Hello from Docker!” 就说明安装成功,第一条命令会拉取一个测试镜像并运行它。
四、打包第一个应用
准备一个简单的静态页面 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 --name my-web my-web:1.0
浏览器打开 http://localhost:8080,就能看到页面。-p 把容器 80 端口映射到主机 8080 端口,-d 让容器后台运行。
五、数据持久化与常用命令
容器删除后,内部数据会随之消失。需要保留的数据,用卷挂载:
docker run -d -v mydata:/data my-web:1.0
常用命令速查:docker ps 查看运行中的容器;docker images 列出本地镜像;docker logs my-web 查看日志;docker stop 和 docker rm 停止与删除容器;docker exec -it my-web sh 进入容器内部排查问题。
六、新手常踩的三个坑
第一,端口冲突:8080 已被占用时换一个主机端口即可。第二,镜像拉取慢:可以配置国内镜像加速地址。第三,容器一启动就退出:多半是主进程执行完毕,用 docker logs 查日志,先确认命令本身能正常运行。
七、小结
Docker 的学习曲线并不陡:先理解镜像与容器,再动手 build、run、stop 走完一圈,基本概念就建立起来了。下一步可以尝试用 docker-compose 编排多容器应用,或把镜像推送到仓库分享给团队。从一个静态页面开始,十分钟就能感受到容器化的便利。
- 点赞
- 收藏
- 关注作者
评论(0)