【Docker】常用命令 docker run

文章目录

    • 什么是docker run命令
    • 基本用法
    • 常用选项
      • `-d`:后台运行
      • `--name`:指定容器名称
      • `-p`:端口映射
      • `-v`:挂载数据卷
      • `-e`:设置环境变量
    • 实际示例
      • 运行一个简单的Web服务器
      • 运行一个交互式Shell
    • 总结

在Docker中, docker run命令是最基本且最常用的命令之一。它用于在Docker中创建并运行一个容器。本文将介绍 docker run命令的各种用法、参数和实际示例,帮助读者深入理解并充分利用这个强大的命令。

什么是docker run命令

在介绍docker run命令之前,首先需要了解什么是容器。Docker容器是一个轻量级、独立的可执行软件包,其中包含了运行应用程序所需的一切:代码、运行时、系统工具、系统库以及设置。docker run命令就是用来创建并运行这样的容器的。

基本用法

docker run命令的基本语法如下:

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

其中,IMAGE参数指定要运行的容器镜像的名称或ID。COMMANDARG参数可选,用于指定在容器中执行的命令及其参数。

常用选项

-d:后台运行

通过-d选项,容器将在后台运行,不会阻塞当前终端的使用。示例:

docker run -d nginx

--name:指定容器名称

使用--name选项可以为容器指定一个自定义的名称。示例:

docker run --name my_container nginx

-p:端口映射

通过-p选项可以将容器内部的端口映射到宿主机的端口上,以便外部可以访问容器中运行的服务。示例:

docker run -p 8080:80 nginx

-v:挂载数据卷

使用-v选项可以将宿主机上的目录或文件挂载到容器中,实现数据持久化和共享。示例:

docker run -v /host/path:/container/path nginx

-e:设置环境变量

通过-e选项可以设置容器中的环境变量。示例:

docker run -e "ENV_VAR=value" nginx

实际示例

运行一个简单的Web服务器

docker run -d -p 8080:80 nginx

通过上述命令,在后台运行一个Nginx容器,并将容器的80端口映射到宿主机的8080端口上,可以通过http://localhost:8080访问该Web服务器。

运行一个交互式Shell

docker run -it --rm ubuntu /bin/bash

通过上述命令,在一个交互式的Ubuntu容器中打开一个Bash shell,并且在退出shell后自动删除该容器。

总结

通过本文的介绍,读者应该对docker run命令有了更深入的了解。这个命令可以实现各种各样的功能,从简单的运行容器到复杂的服务部署都可以轻松实现。建议读者在实践中多多尝试,深入理解每个参数的作用和用法,从而更好地利用Docker的强大功能。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/743254.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Python实战:Python控制结构:条件语句if...else...

在Python编程中,条件语句是用于根据特定条件执行不同代码路径的基本控制结构。本文将详细介绍Python中的条件语句if…else…,包括其语法、工作原理、使用场景和最佳实践。 1. 条件语句的基本语法 Python中的条件语句使用if、elif(可选&…

仿真一些记录

1、Vivado生成库文件 在vivado的TCL窗口输入“compile_simlib -simulator modelsim -directory {E:\library\vivado}”,生成vivado的库文件。 2、Modelsim(PE、DE、SE)不同版本的区别 ModelSim PE (Personal Edition) is the industry-lead…

【MODBUS】Java实现的Modbus协议类库——推荐j2mod库

目录 一、j2mod 二、Modbus4J 三、Jamod 在Java中,有几个流行的库可以用于实现Modbus协议以读取设备数据。以下是一些常用的库: 一、j2mod 这是jamod Modbus库的一个分支,取自1.2.1版本,根据Apache 2许可证发布,包…

目标检测YOLO实战应用案例100讲-【目标检测】Halcon(工具应用篇)(四)

目录 Halcon和Opencv 的对比 Halcon OpenCV halcon防止多窗口闪烁 halcon频域和空间域转换 理论基础 举例说明

软考高级:需求变更管理过程概念和例题

作者:明明如月学长, CSDN 博客专家,大厂高级 Java 工程师,《性能优化方法论》作者、《解锁大厂思维:剖析《阿里巴巴Java开发手册》》、《再学经典:《Effective Java》独家解析》专栏作者。 热门文章推荐&am…

C++学习随笔(4)——类和对象的初探

本章我们来初步学习一下C中的类和对象! 目录 1.类的引入 2.类的定义 类的两种定义方式: 3.类的访问限定符及封装 3.1 访问限定符 3.2 封装 4.类的作用域 5.类的实例化 6.类对象模型 6.1 如何计算类对象的大小 6.2 类对象的存储方式猜测 6.3 …

这个学习Python的神仙网站,后悔没早点发现

Python 作为时下最流行的编程语言,很多初学者都将它作为自学编程的首选。不管是有编程经验的开发者,还是新手小白,在这个 AIGC 时代, Python 都可以带你探索新世界。 入门 Python 绝非难事,但如何让自己坚持学下去是如…

用虚拟机安装win10超详细教程。

前言:安装中有任何疑问,可以在评论区提问,博主身经百战会快速解答小伙伴们的疑问 BT、迅雷下载win10镜像(首先要下载win10的镜像):ed2k://|file|cn_windows_10_business_editions_version_1903_updated_sep…

Jmeter---跨越线程组传值

1. 创建两个线程组,并添加请求,设置变量并将其设置为全局变量 2. 设置全局变量:使用函数助手的 setProperty 函数,填写相应内容 3. 设置全局变量:创建一个beanShell,把函数生成的内容粘贴过来 4. 获取全局变…

六 超级数据查看器 讲解稿 详情1 概述

六 超级数据查看器 讲解稿 详情1 概述 点此此处 以新界面 打开B站 当前视频教程 APP下载地址 百度 下载地址 ​ 讲解稿全文: 大家好,今天我们讲解一下超级数据查看器详情界面。由于内容较多,讲解要分为7集,这是第一集 首…

【leetcode热题】寻找旋转排序数组中的最小值 II

难度: 困难通过率: 38.7%题目链接:. - 力扣(LeetCode) 题目描述 假设按照升序排序的数组在预先未知的某个点上进行了旋转。 ( 例如,数组 [0,1,2,4,5,6,7] 可能变为 [4,5,6,7,0,1,2] )。 请找出其中最小的…

【etcd】的限流设计

一、etcd限流实现 从etcd v3.4版本开始,etcd开始使用golang.org/x/time/rate库来实现限流器。这个库提供了一个简单的令牌桶算法来实现速率限制。etcd使用这个库来控制客户端请求的速率,以防止过载和服务中断。 golang.org/x/time/rate库的主要功能包括…

FastWiki v0.1.0发布!新增超多功能

FastWiki 发布 v0.1.0 https://github.com/239573049/fast-wiki/releases/tag/v0.1.0 更新日志 兼容OpenAI接口格式删除Blazor版本UI删除useEffect,解决可能存在问题的bug修复对话可以看到所有对话Merge branch ‘master’ of https://gitee.com/hejiale010426/fast-wiki更新…

搭建Hadoop3.x完全分布式集群

零、资源准备 虚拟机相关: VMware workstation 16:虚拟机 > vmware_177981.zipCentOS Stream 9:虚拟机 > CentOS-Stream-9-latest-x86_64-dvd1.iso Hadoop相关 jdk1.8:JDK > jdk-8u261-linux-x64.tar.gzHadoop 3.3.6&am…

软考高级:系统工程方法(霍尔三维结构、切克兰德方法等)概念和例题

作者:明明如月学长, CSDN 博客专家,大厂高级 Java 工程师,《性能优化方法论》作者、《解锁大厂思维:剖析《阿里巴巴Java开发手册》》、《再学经典:《Effective Java》独家解析》专栏作者。 热门文章推荐&am…

Python (用户登录、身份归属地查询添加异常处理、绘制多角星、电影信息提取)

任务一:用户登录 登录系统通常分为普通用户与管理员权限,在用户登录系统时,可以根据自身权限进行选择登录。本任务要求实现一个用户登录的程序,该程序分为管理员用户与普通用户,其中管理员账号密码在程序中设定&#…

04_拖动文件渲染在页面中

新建一个文件夹,跟之前一样,在 Vscode 终端里输入 yarn create electron-app Drag。 在 index.html 添加以下代码,JS 文件夹和 render.js 都是新创建的: 首先,css 文件一般和 html 结合使用,相当于 html 是…

Linux字符设备驱动开发一

linux字符设备驱动 0 驱动介绍1 字符设备驱动1.1 字符设备相关概念和结构体1.2 实现简单的字符设备模块1.3 创建字符设备1.4 总结 应用程序调用文件系统的API(open、close、read、write) -> 文件系统根据访问的设备类型,调用对应设备的驱动API -> 驱动对硬件进…

Overload的方法是否可以改变返回值的类型?(企业真题)

Overload的方法是否可以改变返回值的类型? 只跟方法名和形参列表有关系,和返回值无关。在形参列表不一样的前提下才可以改 public void method(int i){} public int method(int j,int k){}

RedisCluster集群中的插槽为什么是16384个?

RedisCluster集群中的插槽为什么是16384个? CRC16的算法原理。 1.根据CRC16的标准选择初值CRCIn的值2.将数据的第一个字节与CRCIn高8位异或3.判断最高位,若该位为0左移一位,若为1左移一位再与多项式Hex码异或4.重复3至9位全部移位计算结束5…