Docker 入门指南:十分钟理解容器、镜像与常用命令
为什么需要 Docker
你一定遇到过这样的场景:程序在自己电脑上运行得好好的,换一台机器就报错,要么缺运行环境,要么版本对不上。Docker 要解决的正是这类问题:它把应用程序连同依赖的运行环境一起打包,放进一个标准化的「容器」里。容器搬到哪里,打开就能运行,环境始终一致。
三个核心概念
镜像(Image):可以理解成应用的「安装模板」,里面封存了代码、运行时、依赖库和配置文件。镜像是只读的,但可以用它反复创建容器。
容器(Container):镜像运行起来的实例。同一个镜像可以同时启动多个容器,彼此隔离、互不影响;容器共享宿主机的操作系统内核,所以比虚拟机轻得多,启动只要几秒。
仓库(Registry):存放和分发镜像的地方,类似代码托管之于代码。最常用的是 Docker Hub,上面有官方维护的 Nginx、MySQL、Python 等镜像,可以直接拉取使用。
上手四条命令
docker pull nginx
docker images
docker run -d -p 8080:80 --name web nginx
docker ps
第一条拉取镜像,第二条查看本地镜像,第三条以后台方式运行容器并把本机 8080 端口映射到容器的 80 端口。执行完后打开浏览器,访问本机的 8080 端口,就能看到 Nginx 的欢迎页面,说明第一个容器已经跑起来了。查看日志用 docker logs web,停止用 docker stop web,删除用 docker rm web。
容器和虚拟机有什么区别
虚拟机要在硬件之上再虚拟出一整套操作系统,开销大、启动慢;容器只隔离进程和文件系统,共享宿主机内核,所以更轻、更快。简单记忆:虚拟机虚拟的是硬件,容器隔离的是进程。
给新手的四条建议
- 先拿官方镜像练手,熟悉 pull、run、ps、logs、exec 这几条高频命令;
- 尽早学习 Dockerfile,用文本描述镜像的构建过程,让环境可记录、可复现;
- 重要数据要放进数据卷(Volume),不要只写在容器内部,容器一删数据就没了;
- 上云部署时,把本地验证过的镜像推送到云厂商的容器镜像仓库,再拉到云主机或容器服务运行,本地与云端保持一致,排错成本最低。
小结
Docker 的核心价值就一句话:让环境跟着应用走。先理解镜像与容器的关系,再动手跑通第一个容器,后面的 Compose 编排和集群管理都会顺理成章。
- 点赞
- 收藏
- 关注作者
评论(0)