docker基本应用和相关指令

文章目录

概要

Docker的命令通常分为几个大类,比如镜像管理(images)、容器管理(containers)、网络(network)、数据卷(volume)等等

分成大类进行区分:每个大类下有不同的子命令,比如docker run属于容器操作,docker pull属于镜像管理。

例子:实际应用的例子,比如如何运行一个容器,如何构建镜像,如何查看日志等。

总结步骤:

  1. 将Docker基本指令按功能分类。
  2. 每个类别下列出常用命令,包括语法、说明和示例。
  3. 确保命令的正确性和常用性。
  4. 添加一些常见使用场景的示例,帮助理解如何组合使用这些命令。

镜像管理

提示:这里可以添加技术名词解释

指令 说明 示例 Value
docker pull <镜像名>:<标签> 从仓库拉取镜像(默认标签为 latest) docker pull nginx:1.23
docker build -t <镜像名> . 根据当前目录的 Dockerfile 构建镜像 docker build -t myapp:v1 .
docker images 查看本地所有镜像 docker images grep nginx
docker rmi <镜像ID或名称> 删除本地镜像(需无容器依赖) docker rmi myapp:v1
docker save <镜像名> > 文件名.tar 将镜像导出为 .tar 文件(备份/迁移) docker save nginx > nginx.tar
docker load < 文件名.tar 从 .tar 文件加载镜像 docker load < nginx.tar

|:--------😐 -------------😐

容器操作

指令 说明 示例 Value
docker run [选项] <镜像名> 创建并启动容器 docker run -d -p 8080:80 --name my_nginx nginx
docker start/stop/restart <容器> 启动/停止/重启容器 docker stop my_nginx
docker ps 查看运行中的容器(-a 查看所有容器) docker ps -a grep Exited
docker rm <容器ID或名称> 删除已停止的容器 docker rm my_nginx
docker exec -it <容器> <命令> 在运行的容器中执行命令(交互式终端) docker exec -it my_nginx /bin/bash
docker logs <容器> 查看容器日志(-f 实时跟踪) docker logs -f my_nginx
docker cp <容器>:<路径> <本地路径> 从容器复制文件到本地 docker cp my_nginx:/app/logs ./

|:--------😐 -------------😐

网络管理

指令 说明 示例 Value
docker network ls 查看所有网络 docker network ls
docker network create <网络名> 创建自定义网络 docker network create my_net
docker network connect <网络> <容器> 将容器连接到指定网络 docker network connect my_net my_nginx
docker network inspect <网络> 查看网络详细信息 docker network inspect bridge

|:--------😐 -------------😐

数据卷管理

指令 说明 示例 Value
docker volume ls 查看所有数据卷 docker volume ls
docker volume create <卷名> 创建数据卷 docker volume create my_vol
docker run -v <卷名>:<容器路径> 挂载数据卷到容器 docker run -v my_vol:/data nginx
docker run -v <本地路径>:<容器路径> 挂载本地目录到容器(绑定挂载) docker run -v ./app:/app nginx

|:--------😐 -------------😐

其他常用指令

指令 说明 示例 Value
docker-compose up -d 根据 docker-compose.yml 启动服务栈 docker-compose -f dev.yml up -d
docker system prune 清理无用资源(镜像、容器、网络等) docker system prune -a --volumes
docker stats 实时监控容器资源使用(CPU/内存/网络) docker stats my_nginx

|:--------😐 -------------😐

典型场景示例

  1. 运行一个 Nginx 容器
java 复制代码
# 后台运行并映射端口
docker run -d -p 80:80 --name my_nginx nginx

# 进入容器修改配置
docker exec -it my_nginx /bin/bash
  1. 构建并运行自定义镜像
java 复制代码
# 构建镜像
docker build -t myapp:v1 .

# 运行容器并挂载目录
docker run -d -p 8080:80 -v ./config:/app/config myapp:v1
  1. 备份与恢复容器数据
java 复制代码
# 备份数据卷
docker run --rm -v my_vol:/data -v $(pwd):/backup busybox tar cvf /backup/data.tar /data

# 恢复数据卷
docker run --rm -v my_vol:/data -v $(pwd):/backup busybox tar xvf /backup/data.tar -C /

小结

提示:这里可以添加总结

-d:后台运行,适合长期服务。

-p:端口映射,打通容器内外网络。

-it 以交互模式进入容器(-i 保持输入流,-t 分配伪终端)

相关推荐
檀越剑指大厂3 小时前
【Docker系列】docker inspect查看容器部署位置
运维·docker·容器
sg_knight6 小时前
Docker镜像搬运工:save与load命令的实战指南
docker·容器·备份与恢复·docker save·docker image备份
明仔丶7 小时前
开启docker中mysql的binlog日志
运维·docker·容器·binlog
大河之J天上来8 小时前
从爬虫到网络---<基石9> 在VPS上没搞好Docker项目,把他卸载干净
网络·爬虫·docker
zxy9818 小时前
Docker、Docker-compose、K8s、Docker swarm之间的区别
docker·kubernetes
心动啊1211 天前
docker常用命令总结
docker·容器·eureka
python算法(魔法师版)1 天前
Docker容器启动失败?无法启动?
linux·运维·nginx·docker·容器
不学无术の码农1 天前
Ubuntu 22.04 (WSL2) 上使用 Docker 安装 Nacos 3.0.0
ubuntu·docker
AnnyYoung1 天前
从Dockerfile 构建docker镜像——保姆级教程
docker·容器·eureka
何怀逸1 天前
安装 Docker
运维·docker·容器