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 分配伪终端)

相关推荐
fenglllle2 小时前
K8S下nodelocaldns crash问题导致域名请求响应缓慢
docker·容器·kubernetes
小白学安全hhhh3 小时前
VPC4-通达oa-docker逃逸-shiro反序列化-hash传递-CrackMapExec喷射-历史ptt攻击-进程注入
运维·安全·网络安全·docker·容器·网络攻击模型·安全架构
HOOLOO3 小时前
Docker部署Laravel项目
docker·laravel·php-fpm
步木木4 小时前
使用 PaddlePaddle 官方提供的 Docker 镜像
人工智能·docker·paddlepaddle
一个处女座的程序猿O(∩_∩)O5 小时前
使用 Docker 部署前端项目全攻略
前端·docker·容器
爪哇哇哇哇5 小时前
docker部署jenkins,安装使用一条龙教程
docker·容器·jenkins
simplesin5 小时前
docker 增加镜像(忘记什么bug了)
docker·bug
小李的便利店5 小时前
软件环境安装-通过Docker安装Elasticsearch和Kibana【保姆级教程、内含图解】
elasticsearch·docker·容器·kibana
roman_日积跬步-终至千里6 小时前
【Docker compose】基于宿主机的Neo4j自动备份
docker·容器·neo4j