Docker 学习之路-从入门到放弃:1

发布时间:2026/5/18 10:02:04

Docker 学习之路-从入门到放弃:1 前言docker学习之路。第 1 阶段打牢基础1-2 天学习重点理解 Docker 核心概念熟悉基础命令核心概念扫盲搞懂镜像Image、容器Container、仓库Registry三者的关系仓库(Registry):存放和分发镜像的地方就像应用的“AppStore镜像(lmage):只读的模板就像程序的“安装包”或“模具”容器(Container):基于镜像创建的运行实例就像根据模具压出来的“饼干”理解Docker 解决了「环境一致性」问题开发/测试/生产环境统一参考Docker 官方入门概念中文可看菜鸟教程必练基础命令在你的服务器终端直接敲Bash# 1. 验证 Docker 正常运行docker run hello-world # 跑官方示例容器成功输出即环境正常# 2. 查看本地镜像/容器root用户直接执行普通用户需加sudodocker images # 查看已下载的镜像docker ps # 查看运行中的容器docker ps -a # 查看所有容器含已停止# 3. 拉取运行一个常用镜像比如 Nginxdocker pull nginx # 拉取 Nginx 镜像docker run -d -p 80:80 --name my-nginx nginx # 后台运行 Nginx映射 80 端口# 然后在浏览器输入你的服务器公网 IP能看到 Nginx 欢迎页就算成功第 2 阶段核心能力3-5 天学习重点掌握镜像构建、容器生命周期、数据持久化、网络构建自己的镜像Dockerfile学习 Dockerfile 核心指令FROM/RUN/COPY/WORKDIR/CMD/EXPOSE实战写一个简单的 Python Web 镜像Dockerfile# Dockerfile 示例FROM python:3.9-slimWORKDIR /appCOPY . .RUN pip install flaskEXPOSE 5000CMD [python, app.py]构建镜像docker build -t my-python-app .运行容器docker run -d -p 5000:5000 my-python-app容器数据持久化问题容器删除后数据会丢失 → 用数据卷Volume或绑定挂载解决示例运行 MySQL 并持久化数据Bashdocker run -d -p 3306:3306 --name my-mysql \-v mysql-data:/var/lib/mysql \ # 数据卷挂载-e MYSQL_ROOT_PASSWORD123456 \mysql:8.0Docker 网络理解默认bridge网络容器间通信方式练习创建自定义网络让两个容器互相访问第 3 阶段多容器编排2-3 天学习重点用docker compose管理多容器应用你的版本推荐用docker compose而非旧版docker-compose先启用 Compose 插件你的环境里docker-compose命令不存在是因为新版用插件形式Bash# 直接用 docker compose 命令无需额外安装Docker 20 已内置docker compose version # 验证编写 docker-compose.yml比如部署「Web 数据库」场景YAML# 示例WordPress MySQLversion: 3services:db:image: mysql:8.0volumes:- db-data:/var/lib/mysqlenvironment:MYSQL_ROOT_PASSWORD: 123456MYSQL_DATABASE: wordpresswordpress:image: wordpressports:- 8080:80environment:WORDPRESS_DB_HOST: dbWORDPRESS_DB_USER: rootWORDPRESS_DB_PASSWORD: 123456volumes:db-data:启动docker compose up -d停止docker compose down第 4 阶段实战项目1-2 周学习重点用 Docker 部署真实项目巩固知识推荐几个适合新手的实战项目个人博客用docker compose部署 WordPress 或 HexoWeb 服务部署自己的 Python/Node.js/Java 后端服务监控工具部署 Prometheus Grafana 监控服务器状态DevOps 工具部署 Jenkins 做 CI/CD代码提交自动构建镜像第 5 阶段进阶拓展可选当你熟练掌握基础后可以向这些方向深入容器编排学习 Docker Swarm 或 KubernetesK8s镜像优化减小镜像体积多阶段构建、精简基础镜像安全容器安全配置、镜像扫描、最小权限原则CI/CD结合 GitLab CI/Jenkins 实现自动化部署 学习资源推荐官方文档最权威Docker Docs免费教程菜鸟教程Docker 教程和B 站搜索「Docker 入门到实战」找播放量高的完整课程书籍《Docker 入门与实践》适合新手、《Docker 进阶与实战》在线实验Play with Docker免费在线 Docker 环境无需自己搭服务器

相关新闻