Docker 入门指南:一篇搞定核心概念与使用
创作时间:
作者:
@小白创作中心
Docker 入门指南:一篇搞定核心概念与使用
引用
百度
1.
https://baijiahao.baidu.com/s?id=1823551905022235969
一、为什么用 Docker?
- 环境一致性:开发、测试、生产环境一致,避免“在我机器上能跑”的问题。
- 隔离性:容器相互隔离,资源独立,避免依赖冲突。
- 快速部署:秒级启动,简化 CI/CD 流程。
- 轻量高效:与传统虚拟机相比,资源占用更少,性能更高。
二、核心概念
- 镜像(Image)
- 静态的模板,包含应用和运行环境(如 Ubuntu + Nginx + 代码)。
- 类似“安装包”,用于创建容器。
- 容器(Container)
- 镜像的运行实例,一个独立进程。
- 可启动、停止、删除,资源隔离。
- 仓库(Registry)
- 存储镜像的地方,如 Docker Hub(官方仓库)或私有仓库。
三、安装 Docker
Ubuntu/CentOS:
# 一键安装脚本(官方推荐)
curl -fsSL https://get.docker.com | bash -s docker
# 启动 Docker 服务
sudo systemctl start docker
# 设置开机自启
sudo systemctl enable docker
Windows/macOS:
下载Docker Desktop安装即可(图形化界面)。
四、快速上手
运行第一个容器
# 下载官方 Nginx 镜像
docker pull nginx
# 运行容器(-d 后台运行,-p 端口映射)
docker run -d -p 80:80 --name my-nginx nginx
访问 http://localhost:80 即可看到 Nginx 欢迎页。
常用命令
docker ps # 查看运行中的容器
docker ps -a # 查看所有容器(包括已停止的)
docker stop <容器名> # 停止容器
docker start <容器名> # 启动已停止的容器
docker rm <容器名> # 删除容器
docker images # 查看本地镜像
docker rmi <镜像名> # 删除镜像
五、自定义镜像(Dockerfile)
编写 Dockerfile
示例:打包一个 Python 应用
# 使用官方 Python 基础镜像
FROM python:3.9-slim
# 设置工作目录
WORKDIR /app
# 复制代码到容器
COPY . .
# 安装依赖
RUN pip install -r requirements.txt
# 启动命令
CMD ["python", "app.py"]
构建镜像
docker build -t my-python-app:latest .
运行容器
docker run -d -p 5000:5000 my-python-app
六、数据持久化(Volume)
挂载本地目录到容器
docker run -d -v /宿主机目录:/容器目录 mysql
创建 Docker 卷
docker volume create my-vol
docker run -d -v my-vol:/容器目录 mysql
七、容器网络
- 默认网络
- 容器默认通过 bridge 网络通信。
自定义网络
docker network create my-net
docker run -d --network my-net --name web nginx
docker run -d --network my-net --name db mysql
- 同一网络内的容器可通过容器名互相访问(如 web 访问 db:3306)。
八、Docker Compose(多容器编排)
编写 docker-compose.yml
示例:启动一个 WordPress + MySQL 应用
version: '3'
services:
db:
image: mysql:5.7
volumes:
- db_data:/var/lib/mysql
environment:
MYSQL_ROOT_PASSWORD: example
wordpress:
image: wordpress:latest
ports:
- "8000:80"
environment:
WORDPRESS_DB_HOST: db
WORDPRESS_DB_PASSWORD: example
volumes:
db_data:
启动服务
docker-compose up -d # 启动
docker-compose down # 停止并清理
九、实用技巧
清理无用资源
docker system prune -a --volumes
查看日志
docker logs -f <容器名>
进入容器调试
docker exec -it <容器名> /bin/bash
十、常见问题
权限问题:在 Linux 上,普通用户运行 Docker 需加入 docker 用户组:
sudo usermod -aG docker $USER
端口冲突:修改 -p 宿主机端口:容器端口 中的宿主机端口。
镜像下载慢:配置国内镜像源(如阿里云镜像加速器)。
总结:掌握以上内容,你已能应对 90% 的 Docker 使用场景!动手实践是关键,尝试打包自己的应用并发布到 Docker Hub 吧!
热门推荐
盘点10款网红零食,总有一款适合你
怎样提高做事的逻辑性和条理性?
中国近代史的开端是什么
【原】雪含朝暝色 风引去来香——李峤《梅》赏析
如何选择API接口类型:REST API与GraphQL的全面对比
Windows 10截屏技巧全攻略:从基础到进阶,轻松掌握屏幕捕捉
如何申请校车驾驶资格证?这种资格证的申请流程有哪些关键步骤?
手冰凉是什么原因怎么办
软件工程师的薪资待遇怎么样?
项目成本管理中如何进行技术评估
菠萝蜜的热量高吗?从营养学角度解析其热量来源与食用建议
走进电化学 | 锂离子电池电化学阻抗谱概括
道家呼吸六法:贯通经脉、活跃全身气机,提升自我修复力
课题研究,你还在盲目摸索吗?八种方法让你事半功倍

母乳喂养饮食需要注意什么
豆豉的营养价值是什么
硬笔书法“方”字的构字规律
老公有抑郁症怎么和他沟通
热力学三大定律与熵:能量转化的基本法则
伦敦政治经济学院新开法律与金融硕士 | 课程设置、项目优势、申请要求
南京夏天必逛的六个夜市
春节档爆款“哪吒”看了吗?带上这些金句获取力量吧~
为什么说牙齿矫正可以改变下巴后缩?
傅佩荣教授讲解《道德经》第十一章:有和无都是相对的
从《歌手》的争议说起:流行音乐可以“不好听”吗?
过量饮茶的5大危害,看完你还会喝茶吗?
如何撰写订购邮件:从主题行到结束语的完整指南
十部韩国高分犯罪电影,血脉崩张不容错过!
古代生育促进政策:人丁兴旺的密码
看《哪吒 2》大电影,这类人建议谨慎选 3D!