docker run 命令常用参数

server/2025/3/19 12:27:49/

docker_run__0">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.ppmy.cn/server/176239.html

相关文章

java项目40分钟后token失效问题排查(40分钟后刷新页面白屏)

项目40分钟后token失效问题排查(40分钟后刷新页面白屏) 经过我 对比失效前token 可以正常访问接口,失效后的token 不能访问系统, 得出结论,我系统对接第三方 sso 系统,token 失效时间 在他们那边配置&…

C++《红黑树》

在之前的篇章当中我们已经了解了基于二叉搜索树的AVL树,那么接下来在本篇当中将继续来学习另一种基于二叉搜索树的树状结构——红黑树,在此和之前学习AVL树类似还是通过先了解红黑树是什么以及红黑树的结构特点,接下来在试着实现红黑树的结构…

Git 面试问题,解决冲突

1.问题描述 在多人协作开发中,当多个开发者在同一文件的同一部分进行修改并提交时,Git 无法自动合并这些更改,从而产生代码冲突(Conflict)。冲突的代码会被 Git 标记出来,需要开发者手动解决。 冲突原因 多…

golang函数与方法的区别

1.调用方式的区别 函数的调用方式:函数名(参数...) 方法的调用方式: 变量.方法名(参数...) 2.函数的使用 package mainimport "fmt" //函数参数为值类型,调用的时候只能传递值类型数据&#…

【Deepseek进阶篇】--4.科研运用

DeepSeekDeepResearch ,让科研像聊天一样简单 通过百度网盘分享的文件:AI学术工具公测版.exe 链接:https://pan.baidu.com/s/1kPrFGhpWuwB2eiGuP33Qjg?pwd0417 目录 1. 能做什么 1.1.爬虫数据采集 1.2.撰写文章标题 1.3.中-英、英-中 1.4.中文学术写作润色指…

Leetcode-2272. Substring With Largest Variance [C++][Java]

目录 一、题目描述 二、解题思路 【C】 【Java】 Leetcode-2272. Substring With Largest Variancehttps://leetcode.com/problems/substring-with-largest-variance/description/2272. 最大波动的子字符串 - 力扣(LeetCode)2272. 最大波动的子字符串…

【Netty】消息分发处理方式

背景 检索平台,使用长链接的方式与外部系统进行交互; 因平台使用的的自定义二进制交互协议,因此需要针对每个接口请求与响应都要进行编解码, 因此需要一种针对不同消息的分发处理 方案一 注解 反射 示例: /** * 消息类型注解 */ Retenti…

xLua_001

xLua下载 1、HelloWrold 代码 using System.Collections; using System.Collections.Generic; using UnityEngine; using XLua; // 引入XLua命名空间 public class Helloworld01 : MonoBehaviour {//声明LuaEnv对象 private LuaEnv luaenv;void Start(){//实例化LuaEnv对象…