当前位置: 首页 > news >正文

​​Docker 速通教程

以下是精简版 Docker 速通教程,涵盖安装、镜像管理、容器操作、网络存储等核心操作,10分钟快速上手!


1. 安装 Docker

Ubuntu/Debian
sudo apt update
sudo apt install docker.io
sudo systemctl enable --now docker
sudo usermod -aG docker $USER  # 当前用户加入docker组(需重新登录)
CentOS
sudo yum install -y docker
sudo systemctl enable --now docker
验证安装
docker --version
docker run hello-world  # 测试运行

2. 镜像管理

操作命令
拉取镜像docker pull nginx:latest
查看本地镜像docker images
删除镜像docker rmi <镜像ID>
构建镜像(需Dockerfile)docker build -t my_image:1.0 .
导出镜像docker save -o nginx.tar nginx:latest
导入镜像docker load -i nginx.tar

3. 容器操作

基础命令
操作命令
启动容器docker run -d --name my_nginx -p 80:80 nginx
查看运行中容器docker ps
查看所有容器docker ps -a
停止容器docker stop my_nginx
启动已停止容器docker start my_nginx
删除容器docker rm my_nginx
强制删除运行中容器docker rm -f my_nginx
进入容器docker exec -it my_nginx /bin/bash
查看日志docker logs -f my_nginx
复制文件到容器docker cp file.txt my_nginx:/path/
常用参数
  • -d:后台运行(守护模式)
  • -p 主机端口:容器端口:端口映射
  • -v /host/path:/container/path:目录挂载
  • --restart=always:容器崩溃自动重启

4. 网络管理

操作命令
查看网络docker network ls
创建网络docker network create my_net
连接容器到网络docker network connect my_net my_nginx
指定容器网络docker run --network=my_net nginx

5. 数据卷管理

操作命令
创建数据卷docker volume create my_vol
查看数据卷docker volume ls
挂载数据卷docker run -v my_vol:/app nginx
绑定主机目录docker run -v /host/path:/container/path nginx

6. 常用组合命令

# 一键清理所有停止的容器和未使用的镜像
docker system prune -a# 批量停止所有容器
docker stop $(docker ps -q)# 查看容器资源占用
docker stats# 修改容器配置后提交为新镜像
docker commit my_nginx my_nginx:v2

7. 实战示例

示例1:部署Nginx并挂载网页目录
docker run -d --name web \-p 8080:80 \-v $(pwd)/html:/usr/share/nginx/html \nginx
示例2:运行MySQL并持久化数据
docker run -d --name mysql_db \-p 3306:3306 \-v mysql_data:/var/lib/mysql \-e MYSQL_ROOT_PASSWORD=123456 \mysql:5.7

8. 可视化工具

安装 Portainer(Docker图形化管理):

docker run -d -p 9000:9000 \-v /var/run/docker.sock:/var/run/docker.sock \portainer/portainer

访问 http://localhost:9000 初始化管理界面。


附:速查表

!https://dockercheatsheet.painlessdocker.com/assets/img/docker-cheat-sheet.png

掌握以上命令即可应对90%日常场景!如需更复杂功能(如Docker Compose、Swarm集群),可进一步扩展学习。

http://www.dtcms.com/a/285702.html

相关文章:

  • 用Python实现神经网络(四)
  • 【大模型:知识图谱】--6.Neo4j DeskTop安装+使用
  • 数字化转型:概念性名词浅谈(第三十讲)
  • JAVA面试宝典 -《Elasticsearch 深度调优实战》
  • OpenAI发布通用智能体ChatGPT Agent:实现自主思考、联网与工具调用,智能体赛道大变天!
  • Java 大视界 -- Java 大数据在智能医疗电子健康档案数据挖掘与健康服务创新中的应用(350)
  • QCustomPlot 使用教程
  • 【Linux】基本指令(入门篇)(上)
  • SOES:软实现EtherCAT从站协议栈项目介绍及从站开发案例
  • 【Python】SQLAlchemy实现upsert
  • 【Linux网络编程】应用层协议 - HTTP
  • uniapp 动态控制横屏(APP 端)
  • Bitbucket平台的HTTP Access Tokens操作手册
  • 开发避坑短篇(2):uni-app微信小程序开发‘createIndependentPlugin‘模块缺失问题分析与解决方案
  • 创蓝闪验SDK适配uniappx版本UTS插件集成文档
  • Redis缓存双写的学习(五)
  • Python暑期学习笔记5
  • 平板可以用来办公吗?从文档处理到创意创作的全面测评
  • JavaScript 的垃圾回收机制
  • 第 14 章 线性回归预测策略----SPL量化编程课
  • CUPED (Controlled-experiment using Pre-Experiment Data) 论文学习笔记
  • 软删除设计:为什么使用 deleted_at = ‘1970-01-01 00:00:00‘ 表示未删除?
  • 1-大语言模型—理论基础:详解Transformer架构的实现(1)
  • 零信任产品联合宁盾泛终端网络准入,打造随需而变、精准贴合业务的网络安全访问体系
  • python爬虫获取PDF
  • pdf格式怎么提取其中一部分张页?
  • PDF 拆分合并PDFSam:开源免费 多文件合并 + 按页码拆分 本地处理
  • Elasticsearch 和 solr 的区别
  • 【Docker#2】容器历史发展 | 虚拟化实现方式
  • C# 转换(引用转换)