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

Docker常用命令详解:以Nginx为例

Docker常用命令详解:以Nginx为例

表格有参照:
菜鸟教程-Docker 命令大全
菜鸟教程-Docker 容器使用
文章有AI参与修改创作。

命令描述示例
镜像管理镜像名称使用:<IMAGE_NAME>,容器名称使用:<CONTAINER_NAME>,主机路径路径:<MAIN_MACHINE_PATH>,
docker build使用 Dockerfile 构建镜像docker build -t <IMAGE_NAME> .
docker commit从容器创建一个新镜像docker commit <CONTAINER_NAME> <IMAGE_NAME>
docker pull从 Docker 仓库拉取镜像docker pull <IMAGE_NAME>
docker push将镜像推送到 Docker 仓库docker push <IMAGE_NAME>
docker load从 tar 归档文件加载镜像docker load -i <MAIN_MACHINE_PATH>/<IMAGE_NAME>.tar
docker save将镜像保存为 tar 归档文件docker save -o <MAIN_MACHINE_PATH>/<NEW_IMAGE_NAME>.tar <IMAGE_NAME>
docker images列出本地存储的所有镜像docker images
docker rmi删除一个或多个镜像docker rmi <IMAGE_NAME>
容器生命周期管理
docker create创建一个新容器但不启动它docker create --name <CONTAINER_NAME> <IMAGE_NAME>
docker run启动一个新的容器并运行命令docker run -d --name <CONTAINER_NAME> <IMAGE_NAME>
docker start启动已停止的容器docker start <CONTAINER_NAME>
docker stop停止一个或多个容器docker stop <CONTAINER_NAME>
docker restart重启一个容器docker restart <CONTAINER_NAME>
docker kill强制停止一个或多个容器docker kill <CONTAINER_NAME>
docker pause暂停容器中的所有进程docker pause <CONTAINER_NAME>
docker unpause恢复容器中暂停的进程docker unpause <CONTAINER_NAME>
docker rm删除一个或多个容器docker rm <CONTAINER_NAME>
docker rename重命名容器docker rename <OLD_NAME> <NEW_NAME>
容器信息查看
docker ps列出当前正在运行的容器docker ps
docker ps -a列出所有容器(包括已停止的容器)docker ps -a
docker logs查看容器的日志docker logs <CONTAINER_NAME>
docker inspect获取容器或镜像的详细信息docker inspect <CONTAINER_NAME>
docker stats显示容器的实时资源使用情况docker stats <CONTAINER_NAME>
容器交互操作
docker exec在运行的容器中执行命令docker exec <CONTAINER_NAME> ls
docker exec -it进入容器的交互式终端docker exec -it <CONTAINER_NAME> /bin/bash
docker cp在容器和本地文件系统之间复制文件docker cp <CONTAINER_NAME>:<CONTAINER_PATH> <MAIN_MACHINE_PATH>
docker export将容器文件系统导出为 tar 归档文件docker export -o <MAIN_MACHINE_PATH>/container.tar <CONTAINER_NAME>
网络和存储管理
docker network ls列出所有 Docker 网络docker network ls
docker volume ls列出所有 Docker 卷docker volume ls
Docker Compose
docker-compose up启动多容器应用docker-compose up
docker-compose down停止并删除 compose 启动的资源docker-compose down
仓库认证
docker login登录 Docker 仓库(支持安全密码输入)echo "<PASSWORD>" | docker login <REGISTRY_URL> --username <USERNAME> --password-stdin
docker logout登出 Docker 仓库docker logout <REGISTRY_URL>
系统信息
docker info显示 Docker 系统信息docker info
docker version显示版本信息docker version

1. 获取镜像

docker pull nginx:latest  # 下载最新版Nginx镜像
docker pull nginx         # 不指明版本则默认是最新版本
docker images             # 查看本地所有镜像

2. 启动容器

# 启动Nginx容器(后台运行,映射80端口)
docker run -d --name my-nginx -p 8080:80 nginx
# 查看运行中的容器
docker ps

添加映射

映射内容参阅:https://blog.csdn.net/GoodCooking/article/details/149670197

只替换主配置文件 + 自定义网页内容。
docker run -d --name my-nginx \-p 8080:80 \-v D:/dockerFils/nginx/nginx_mainConf:/etc/nginx/nginx.conf \-v D:/dockerFils/nginx/nginx_html:/usr/share/nginx/html \nginx
映射 default.conf(站点配置) + html(网页文件)
docker run -d --name my-nginx \-p 8080:80 \-v D:/dockerFils/nginx/nginx_defaultConf:/etc/nginx/conf.d/default.conf \-v D:/dockerFils/nginx/nginx_html:/usr/share/nginx/html \nginx
映射 nginx.conf + default.conf + html
docker run -d --name my-nginx \-p 8080:80 \-v D:/dockerFils/nginx/nginx_mainConf:/etc/nginx/nginx.conf \-v D:/dockerFils/nginx/nginx_defaultConf:/etc/nginx/conf.d/default.conf \-v D:/dockerFils/nginx/nginx_html:/usr/share/nginx/html \nginx

3. 容器管理

docker stop my-nginx      # 停止容器
docker start my-nginx     # 启动已停止的容器
docker restart my-nginx   # 重启容器
docker exec -it my-nginx bash  # 进入容器终端(调试用)

4. 日志与监控

docker logs my-nginx          # 查看日志
docker stats my-nginx         # 实时资源监控(CPU/内存)
docker inspect my-nginx       # 查看容器详细配置

5. 持久化与网络

# 挂载本地目录到Nginx网页目录
docker run -d -v ./html:/usr/share/nginx/html -p 8080:80 nginx# 查看网络和卷
docker network ls
docker volume ls

6. 清理资源

docker rm my-nginx       # 删除容器
docker rmi nginx:latest  # 删除镜像
docker system prune      # 清理所有无用资源(谨慎使用)

7. Docker Compose示例

创建 docker-compose.yml 文件:

version: '3'
services:web:image: nginxports:- "8080:80"volumes:- ./html:/usr/share/nginx/html

启动服务:

docker-compose up -d    # 后台启动
docker-compose down     # 停止并删除

8. 其他实用命令

docker version     # 查看Docker版本
docker login       # 登录镜像仓库(如Docker Hub)
docker push yourname/nginx-custom  # 推送自定义镜像
http://www.dtcms.com/a/299969.html

相关文章:

  • 求hom_math_2d的角度值
  • Aerospike架构深度解析:打造web级分布式应用的理想数据库
  • JS实现数字变化时,上下翻滚动画效果
  • 本地部署智能家居集成解决方案 ESPHome 并实现外部访问
  • 五分钟系列-文本搜索工具grep
  • 【工具】好用的浏览器AI助手
  • 【MySQL】VARCHAR(10) 和 VARCHAR(100) 的区别
  • 大模型蒸馏(distillation)---从DeepseekR1-1.5B到Qwen-2.5-1.5B蒸馏
  • 拒绝SQL恐惧:用Python+pyqt打造任意Excel数据库查询系统
  • C++ - 仿 RabbitMQ 实现消息队列--服务端核心模块实现(四)
  • 丝杆升降机应用在食品机械行业有什么特殊的要求吗
  • Java BeanUtils 类详解:作用、语法与示例
  • springboot 基于签名的安全通信
  • 深入解析YARN中的FairScheduler与CapacityScheduler:资源分配策略的核心区别
  • Aerospike Java客户端进阶:对象映射与Spring Data集成实战
  • spring Could 高频面试题
  • 【科普】java和html和lvgl生成页面有什么区别,还有什么方法可以生成?
  • 数据库HB OB mysql ck startrocks, ES存储特点,以及应用场景
  • 通过服务启动应用的流程(类似SystemUi启动流程)
  • Linux笔记5——常用命令-4
  • 深入浅出学习 KNN 算法:从原理到数字识别实践
  • 【Linux庖丁解牛】— 日志进程池 !
  • 大模型系列——Dify:知识库与外部知识库
  • SSH连接失败排查与解决教程: Connection refused
  • PromQL完全指南:掌握Prometheus核心查询语言
  • Ubuntu 22.04 配置 Zsh + Oh My Zsh + Powerlevel10k
  • 二十八、【Linux系统域名解析】DNS安装、子域授权、缓存DNS、分离解析、多域名解析
  • C++___快速入门(上)
  • 人工智能之数学基础:概率论之韦恩图的应用
  • WebAPIs里的filter