docker常规命令和高级用法

Docker 是一个强大的容器化平台,提供了丰富的命令和功能来管理容器、镜像、网络和存储等。以下是一些常用的 Docker 命令及其高级用法。


1. 容器管理

1.1 启动容器

  • 基本用法

    docker run <image_name>
    

    示例:

    docker run ubuntu
    
  • 高级用法

    • 后台运行容器并映射端口:
      docker run -d -p 8080:80 nginx
      
    • 挂载主机目录到容器:
      docker run -v /host/path:/container/path ubuntu
      
    • 设置环境变量:
      docker run -e MY_ENV=value ubuntu
      
    • 指定容器名称:
      docker run --name my_container ubuntu
      

1.2 查看容器

  • 基本用法

    docker ps
    
  • 高级用法

    • 查看所有容器(包括已停止的):
      docker ps -a
      
    • 查看容器的详细信息:
      docker inspect <container_id>
      
    • 查看容器的日志:
      docker logs <container_id>
      
    • 实时查看日志:
      docker logs -f <container_id>
      

1.3 停止和删除容器

  • 基本用法

    docker stop <container_id>
<think>好的,用户想了解Docker容器常规操作方法,特别是常用命令使用指南。我需要根据提供的引用内容来整理这些信息。首先,我应该分几个主要部分来组织回答,比如容器生命周期管理、网络配置、数据管理、日志监控,以及GPU容器操作等。引用1、2、3、4都提到了不同的命令,需要整合这些内容,确保覆盖全面。 首先,容器生命周期管理包括运行、启动、停止、删除等。根据引用4,运行容器可以使用docker run,并提到端口映射后台运行的参数。引用2里也有运行容器重启的命令,比如docker restart。停止容器docker stop,删除用docker rm,这些在引用23都有提到。 然后是镜像管理,引用2提到查看镜像、下载镜像、搜索镜像,对应的命令docker images、docker pull、docker search。删除镜像用docker rmi,引用3也有涉及。 网络配置方面,引用2提到了查看网络、创建网络、删除网络,使用docker network相关的命令。数据管理部分,引用12都提到了数据卷,比如docker volume create挂载数据卷到容器,这需要详细说明。 日志管理在引用1中提到docker logs,监控资源使用可以用docker statsdocker top,这些在引用23里都有。另外,进入容器执行命令docker exec,这也是常用的。 GPU容器的操作是引用2的重点,需要单独列出来,比如使用--gpus参数运行容器,并给出示例命令。另外,运行Jupyter服务的例子也可以提一下,帮助用户理解应用场景。 还要注意命令的语法正确性,比如端口映射是-p参数,数据卷挂载是-v,环境变量是-e。引用4中的nginx示例可以作为一个实战案例,说明如何运行一个web服务器。 需要确保回答结构清晰,每个部分用小标题,命令用代码块,并且按照用户的要求,行内数学表达式用$...$,但这里可能用不上。最后生成相关问题,可能涉及性能优化、常见错误解决、数据持久化方法、容器网络配置等。 检查是否有遗漏的重要命令,比如查看容器进程的docker ps,查看容器详细信息的docker inspect,这些在引用23里都有提到。另外,数据卷的备份恢复虽然用户没直接问,但属于常规操作,可以简要提及。 最后,确保所有引用来源正确标注,比如引用1是关于日常维护命令,引用2包含GPU容器操作,引用4提供了运行容器的具体案例。需要将这些信息整合成一个连贯的指南,帮助用户快速掌握Docker容器的常用操作。</think>### Docker容器常规操作指南 #### 一、容器生命周期管理 1. **运行容器** ```bash # 基础运行(带交互终端) docker run -it --name my_container ubuntu:20.04 /bin/bash # 后台运行并映射端口(Web服务示例) docker run -d -p 8080:80 --name nginx_web nginx [^4] # 带环境变量自动删除 docker run -e MYSQL_ROOT_PASSWORD=123456 --rm mysql:8.0 ``` 2. **启停与删除** ```bash docker start/stop/restart my_container # 启停与重启 [^2] docker rm my_container # 删除已停止的容器 docker rm -f running_container # 强制删除运行中的容器 [^3] ``` #### 二、镜像管理 ```bash docker images # 查看本地镜像 [^2] docker pull ubuntu:22.04 # 下载镜像 docker search nginx # 搜索镜像仓库 docker rmi ubuntu:20.04 # 删除镜像(需无容器依赖)[^3] ``` #### 三、网络配置 ```bash docker network ls # 查看网络列表 docker network create my_net # 创建自定义网络 [^2] docker run --network=my_net ... # 指定容器网络 ``` #### 四、数据管理 ```bash # 数据卷操作 docker volume create db_vol # 创建数据卷 docker run -v db_vol:/var/lib/mysql ... # 挂载数据卷 [^1] # 目录直接挂载 docker run -v /host/path:/container/path ... ``` #### 五、监控与调试 ```bash docker ps -a # 查看所有容器状态 [^3] docker logs my_container # 查看容器日志(-f实时跟踪)[^1] docker stats # 实时监控资源使用 docker top my_container # 查看容器进程树 ``` #### 六、高级操作 1. **进入容器执行命令** ```bash docker exec -it my_container /bin/bash # 进入bash终端 docker exec my_container ls /app # 执行单次命令 ``` 2. **GPU容器操作(需NVIDIA环境)** ```bash docker run --gpus all nvidia/cuda:11.0-base # 使用全部GPU docker run --gpus '"device=0,1"' ... # 指定GPU设备 ``` #### 七、实战案例 **运行Jupyter服务** ```bash docker run -d -p 8888:8888 -v ~/notebooks:/home/jovyan/work jupyter/tensorflow-notebook --NotebookApp.token='' [^2] ``` #### 八、系统维护 ```bash docker system df # 查看存储占用 docker prune # 清理无用对象(镜像/容器/网络) docker update --restart=always my_container # 设置自动重启 [^1] ``` --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小赖同学啊

感谢上帝的投喂

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值