Docker run 的一些简单命令

本文介绍了 Docker run 命令的基本用法及常用选项,包括如何以交互模式启动容器、命名容器、端口映射和挂载卷等操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Docker run 的一些简单命令

 

使用镜像nginx:latest以交互模式启动一个容器,在容器内执行/bin/bash命令

docker run -it nginx:latest /bin/bash 

 

1. 命名   

   docker run --name mynginx -d nginx:latest  

   注:使用docker镜像nginx:latest以后台模式启动一个容器,并将容器命名为mynginx。

  -d: 后台运行容器,并返回容器ID;

  --name="nginx-lb": 为容器指定一个名称;

 

2. 端口映射 

   注: 使用镜像nginx:latest以后台模式启动一个容器,将容器的80端口映射到主机的80端口,主机的目录/data映射到容器的/data。

  docker run -p 80:80 -v /data:/data -d nginx:latest  

 

 

 

 

 

 

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

OPTIONS说明:

    • -a stdin: 指定标准输入输出内容类型,可选 STDIN/STDOUT/STDERR 三项;

    • -d: 后台运行容器,并返回容器ID;

    • -i: 以交互模式运行容器,通常与 -t 同时使用;

    • -t: 为容器重新分配一个伪输入终端,通常与 -i 同时使用;

    • --name="nginx-lb": 为容器指定一个名称;

    • --dns 8.8.8.8: 指定容器使用的DNS服务器,默认和宿主一致;

    • --dns-search example.com: 指定容器DNS搜索域名,默认和宿主一致;

    • -h "mars": 指定容器的hostname;

    • -e username="ritchie": 设置环境变量;

    • --env-file=[]: 从指定文件读入环境变量;

    • --cpuset="0-2" or --cpuset="0,1,2": 绑定容器到指定CPU运行;

    • -m :设置容器使用内存最大值;

    • --net="bridge": 指定容器的网络连接类型,支持 bridge/host/none/container: 四种类型;

    • --link=[]: 添加链接到另一个容器;

    • --expose=[]: 开放一个端口或一组端口;

转载于:https://www.cnblogs.com/huamei2008/p/7875731.html

当我们希望通过 `docker run` 命令直接指定参数运行容器时,如果需要添加 JavaAgent 支持,则需将对应的 `-javaagent` 参数正确传递给容器内的应用进程。以下是具体的步骤说明以及实例展示。 ### 步骤详解 1. **准备基础镜像与 Agent 文件** - 确保目标 Docker 镜像是基于能够正常解析并使用 Java 应用的基础环境构建出来的。 - 将所需的 `.jar` 类型的 JavaAgent 插件文件放入镜像内部或者挂载到宿主机目录上。 2. **编写正确的 docker run 格式化命令** 使用标准语法形式调用 `docker run [OPTIONS] IMAGE COMMAND ARG...`, 并结合实际需求设置好各项配置项(例如端口映射、内存限制等)。 #### 示例代码片段 假设当前已有一个命名为 my-java-app 的自定义镜像存在本地并且包含了一个简单的 SpringBoot Web 项目;另外还有一个叫作 pinpoint-agent.jar 的性能监控工具包存储于 /opt/probes 下面: ```bash docker run \ --name=my_java_service_container \ -p 8080:8080 \ -v /host/path/to/applogs/:/container/logs \ -e JAVA_OPTS="-Xms512m -Xmx1g -XX:+UseG1GC" \ -e SPRING_PROFILES_ACTIVE=prod \ -it \ --rm \ my-java-app \ sh -c 'exec java $JAVA_OPTS -javaagent:/opt/probes/pinpoint-agent.jar -jar /myapp/my-springboot-application.jar' ``` 上述脚本实现了以下几个要点: - 给定新创建的服务容器分配别名 "my_java_service_container". - 开放了外部访问入口至 localhost:8080 路由对应内网服务. - 映射了一块从主机侧提供持久记录用途的日志区域供容器引用. - 设置了一些通用 JVM 内存管理规则同时激活生产模式属性 profile. 最后重点部分即通过 shell wrapper 形式串联起所有变量值传送给最终启动的实际应用程序里头. --- ### 注意事项 1. **路径匹配问题** 确保指明的 agent jar 包完整无误存在于预期位置下, 否则会抛出错误找不到资源异常导致初始化失败。 2. **权限控制考量** 有时因安全策略原因默认情况下普通用户无法读取某些敏感数据区内容, 故必要时候调整 SELinux/AppArmor 规则或是提升操作者身份级别才能顺利完成部署工作流.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值