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

docker run 命令常用参数

docker run 命令

用于从镜像创建并启动一个新的容器。

基本语法:

docker run [OPTIONS] IMAGE [COMMAND] [ARG...]

常用选项分类说明

  1. 容器配置
  • --name
    为容器指定名称(默认随机生成)。
    示例: docker run --name my_container nginx
  • --rm
    容器退出后自动删除容器(适用于临时测试)。
    示例:docker run --rm alpine echo "Hello"
  • -it
    以交互模式运行容器(通常与 /bin/bash 或 sh 结合使用)。
    示例:docker run -it ubuntu /bin/bash
  1. 资源限制
  • -m 或 --memory
    限制容器内存使用(支持 b/k/m/g)。
    示例:docker run -m 512m nginx
  • –cpus
    限制容器使用的 CPU 核心数。
    示例:docker run --cpus=1.5 nginx
  • –cpu-shares
    设置 CPU 权重(默认 1024,相对比例)。
    示例:docker run --cpu-shares=512 nginx
  1. 网络设置
  • -p 或 --publish
    映射容器端口到主机(格式:主机端口:容器端口)。
    示例:docker run -p 8080:80 nginx # 主机 8080 → 容器 80
  • -P 或 --publish-all
    自动映射容器所有暴露的端口到主机随机端口。
    示例:docker run -P nginx
  • –network
    指定容器使用的网络(如 host、bridge、自定义网络)。
    示例:docker run --network=host nginx
  1. 存储卷(Volume)
  • -v 或 --volume
    挂载主机目录或命名卷到容器(格式:主机路径:容器路径[:权限])。
    示例:docker run -v /data:/app/data nginx # 挂载目录 docker run -v my_volume:/app/data nginx # 使用命名卷
  • –mount
    更详细的挂载配置(支持类型 bind、volume、tmpfs)。
    示例:docker run --mount type=bind,source=/data,target=/app/data nginx
  1. 环境变量
  • -e 或 --env
    设置容器内的环境变量。
    示例:docker run -e MY_ENV=value nginx
  • –env-file
    从文件读取环境变量。
    示例:docker run --env-file=env.list nginx
  1. 元数据与标签
  • -l 或 --label
    为容器添加元数据标签。
    示例:docker run -l "env=prod" nginx
  1. 日志与输入输出
  • -d 或 --detach
    后台运行容器(守护进程模式)。
    示例:docker run -d nginx
  • –log-driver
    指定日志驱动(如 json-file、syslog、none)。
    示例:docker run --log-driver=syslog nginx
  1. 安全设置
  • –user
    指定容器内进程的用户(UID 或用户名)。
    示例:docker run --user=1000 nginx
  • –security-opt
    设置 SELinux 或 AppArmor 配置。
    示例:docker run --security-opt seccomp=unconfined nginx
  • –cap-add/–cap-drop
    添加或删除容器的 Linux 能力(Capabilities)。
    示例:docker run --cap-add=SYS_ADMIN nginx
  1. 其他常用选项
  • –restart
    容器退出时的重启策略(no/on-failure/always/unless-stopped)。
    示例:docker run --restart=always nginx
  • –entrypoint
    覆盖镜像的默认入口点(Entrypoint)。
    示例:docker run --entrypoint /bin/sh nginx
  • –privileged
    赋予容器特权模式(慎用,可能影响宿主机安全)。
    示例:docker run --privileged nginx
    示例场景
  • 运行 Nginx 并映射端口
    docker run -d --name web -p 80:80 nginx
  • 启动交互式 Ubuntu 容器
    docker run -it ubuntu /bin/bash
  • 挂载目录并设置环境变量
    docker run -v /host/data:/app/data -e APP_ENV=prod my-app
  • 限制资源并自动清理
    docker run --rm -m 1g --cpus=2 alpine sh -c "echo 'Hello World'"

总结

使用 docker run --help 查看完整参数列表。

根据需求组合选项,如后台运行、端口映射、资源限制等。

生产环境中建议明确指定资源限制和重启策略。


http://www.kler.cn/a/591999.html

相关文章:

  • SpringCloud 学习笔记3(OpenFeign)
  • OSG简介
  • 电信大带宽服务器的应用场景都有哪些?
  • vue中js简单创建一个事件中心/中间件/eventBus
  • Zabbix安装(保姆级教程)
  • 学习Python如何高效处理CSV文件的技巧!
  • Docker 和 Docker Compose 的关系
  • 可视化图解算法:链表中倒数(最后)k个结点
  • 使用py-ffmpeg批量合成视频的脚本
  • CentOS7 安装 jdk8(Java安装)
  • Next.js 的渲染体系架构
  • Spring Boot 核心知识点深度详解:自动化配置 (Auto-configuration) - 解锁 Spring Boot 的 “魔法”
  • 【从零开始学习计算机科学】软件工程(三)需求工程
  • 《算法笔记》9.2小节——数据结构专题(2)->二叉树的遍历 问题 B: 二叉树
  • 批量清空 Excel 文档主题、标记、作者、保存时间、总编辑时间元数据
  • 23年蓝桥杯 ———— 阶乘求和
  • rk3588 linux的rootfs.img挂载后通过chroot切换根目录安装应用提示空间不足
  • 一、Redis简介篇
  • 一文梳理清楚Vsync/Choreographer/SurfaceFlinger/Surface/SurfaceHolder/硬件刷新频率关系
  • Springboot是怎么保证WebSocket的链接对象是唯一的