微服务实战系列之玩转Docker(五)

前言

在我们日常的工作生活中,经常听到的一句话:“是骡子是马拉出来遛遛”。目的是看一个人/物是不是名副其实。我们在使用docker时,也要看看它究竟是如何RUN起来的。当面试官问你的时候,可以如是回答,保你“一文通关”
在这里插入图片描述

今天博主继续分享新篇,助你一文读懂docker run,各位准备好“小板凳”了么? (此处适合三连一波)

一、docker run探秘

1. 作用

docker run是创建容器并运行它的命令。

1.1 语法格式
docker run [OPTIONS] IMAGE [COMMAND] [ARG...]

其中,OPTIONS是各种配置和运行容器的选项或参数,IMAGE是运行的镜像,COMMAND 是在容器内部执行的命令,ARG 是COMMAND的参数。

1.2 Options选项
Option用途
-a指定标准输入输出内容类型,可选 STDIN/STDOUT/STDERR 三项。
-d允许后台运行容器,并返回容器ID。
-i以交互模式运行容器,通常与 -t 同时使用。
-t为容器重新分配一个可输入终端(比如命令行),通常与 -i 同时使用。
-P随机端口映射,容器内部端口随机映射到主机的端口。(内->外)
-p指定端口映射,格式为:主机端口:容器端口。比如nginx容器端口格式为“8000:80”。(外->内)
–name为容器指定一个名称。
–dns 8.8.8.8指定容器使用的DNS服务器,默认和宿主一致。
–dns-search指定容器DNS搜索域名,默认和宿主一致。
–rm容器停止后,自动删除容器的文件系统。
-h制定容器的hostname。
–cpuset容器运行在指定CPU。比如cpuset=“0,1,2"或"0-2”。
-m设置允许容器使用的最大内存,防止溢出。
–net指定容器的网络连接类型,支持 bridge/host/none/container 四种类型。
–restart设置容器自动重启。
-u设置启动容器的用户身份。
-v绑定容器卷,支持持久化。
–expose开放端口,支持一个或多个。

2.工作原理

让我们来看一张流程图,了解一下我们在执行docker run时,究竟发生了什么。
在这里插入图片描述

为什么我们在docker run时,通常需要等待一段时间,其实是在“按图索骥”。默认从docker hub搜索需要的镜像。

二、docker run示例

博主顺便提供几个简单的示例吧,以加深印象。当然写法不拘泥,只要符合规范即可。

1. [RUN]一个指定端口号的容器

docker run -d -p 80:80 docker/getting-started

比如,该示例是基于镜像docker/getting-started创建一个可后台运行的容器。容器的外部端口号80,内部端口号80,也就是外部通过80:80访问容器。
此时,镜像的版本号并未指定,那么默认会search latest

2. [RUN]一个可持久化的容器

docker run -d -p 80:80 -v /usr/local/docker:/usr/local/docker docker/getting-started

比如,该示例是在“示例1”的基础上,增加了持久化能力,将容器与主机的目录进行直接映射。

3. [RUN]一个非root用户运行的容器

docker run -d -p 80:80 -u docker123:dockergroup -v /usr/local/docker:/usr/local/docker docker/getting-started

比如,该示例是在“示例2”的基础上,增加了容器用户限定的能力,只允许用户docker123运行容器中的程序或应用。这样做提高了容器的安全性。

结语

docker run是docker最关键的执行命令之一,所以从它的各种OPTIONS来看,前辈们可以说是“倾尽所有,只为你提供一个完美的docker”

最后,博主分享一句,“学会docker run,走哪都不怕~”


系列回顾

  • 微服务实战系列之玩转Docker(四)
  • 微服务实战系列之玩转Docker(三)
  • 微服务实战系列之玩转Docker(二)
  • 微服务实战系列之玩转Docker(一)
  • 微服务实战系列之云原生

在这里插入图片描述

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

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

相关文章

OpenAI因限制举报人权利遭投诉,呼吁监管介入

每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗?订阅我们的简报,深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同,从行业内部的深度分析和实用指南中受益。不要错过这个机会,成为AI领…

在win10上通过WSL和docker安装Ubuntu子系统,并配置Ubuntu可成功使用宿主机GPU

本文主要记录win10系统上,通过WSL的Ubuntu系统以及Docker使用GPU的全部过程。 文章目录 1、 启用hyper-v2、 安装docker3、 安装WSL3.1 安装WSL23.1.1 检查是否安装了WSL23.1.1 安装和配置 WSL 23.2 安装Ubuntu 子系统3.3 检查并修改WSL版本4、docker配置ubuntu20.04 LTS5、下…

InfiniBand网络-赋能高性能计算的卓越引擎

InfiniBand:赋能高性能计算网络的卓越引擎 InfiniBand作为一种先进的内网计算平台,已成为驱动高性能计算(HPC)、人工智能(AI)以及超大规模云基础设施演进的核心力量,其展现出无可比拟的性能优势…

bs4模块使用(二)

遍历文档树 怎样从文档的一段内容找到另一段内容? html_doc """ <html><head><title>The Dormouses story</title></head><body> <p class"title"><b>The Dormouses story</b></p>&…

基于SpringBoot+Vue的财务管理系统(带1w+文档)

基于SpringBootVue的财务管理系统(带1w文档) 基于SpringBootVue的财务管理系统(带1w文档) 财务管理系统的开发运用java技术、springboot框架&#xff0c;MIS的总体思想&#xff0c;以及Mysql等技术的支持下共同完成了该系统的开发&#xff0c;实现了财务管理的信息化&#xff0…

ReLU-KAN:仅需要矩阵加法、点乘和ReLU*的新型Kolmogorov-Arnold网络

摘要 由于基函数&#xff08;B样条&#xff09;计算的复杂性&#xff0c;Kolmogorov-Arnold网络&#xff08;KAN&#xff09;在GPU上的并行计算能力受到限制。本文提出了一种新的ReLU-KAN实现方法&#xff0c;该方法继承了KAN的核心思想。通过采用ReLU&#xff08;修正线性单元…

运维团队如何高效监控容器化环境中的PID及其他关键指标

随着云计算和容器化技术的快速发展&#xff0c;越来越多的企业开始采用容器化技术来部署和管理应用程序。然而&#xff0c;容器化环境的复杂性和动态性给运维团队带来了前所未有的挑战。本文将从PID&#xff08;进程标识符&#xff09;监控入手&#xff0c;探讨运维团队如何高效…

【网络】socket和udp协议

socket 一、六个背景知识1、Q1&#xff1a;在进行网络通信时&#xff0c;是不是两台机器在进行通信&#xff1f;2、端口号3、端口号vs进程PID4、目的端口怎么跟客户端绑定的呢&#xff1f;也就是怎么通过目的端口去找到对应的进程的呢&#xff1f;5、我们的客户端&#xff0c;怎…

区间加减使得数组变成指定类型

这个问题要怎么去考虑呢&#xff0c;首先我们将两个数组做差得到相对大小&#xff0c;问题就变成了把我们构造的数组通过区间加一或者区间减一变成全部都是0的最小次数 这里就涉及到我们的一个技巧&#xff0c;我们需要把负数序列和正数序列分开处理&#xff0c;如何能得到最小…

【C++】一、Visual Studio 2017使用教程:内存窗口、预处理文件、obj文件,调试优化

文章目录 概述编译期&#xff08;Compile&#xff09;查看预处理后的文件查看obj文件开启编译器调试优化 链接期&#xff08;Linking&#xff09;报错信息概述自定义入口点 调试内存窗口值转16进制查看查看汇编代码 注意 概述 记录一下Cherno的vs配置下载地址 https://thecher…

Unity 调试死循环程序

如果游戏出现死循环如何调试呢。 测试脚本 我们来做一个测试。 首先写一个死循环代码&#xff1a; using System.Collections; using System.Collections.Generic; using UnityEngine;public class dead : MonoBehaviour {void Start(){while (true){int a 1;}}}Unity对象设…

Qt 4.8.7 + MSVC 中文乱码问题深入分析

此问题很常见&#xff0c;然而网上关于此问题的分析大多不够深刻&#xff0c;甚至有错误&#xff1b;加之Qt5又更改了一些编码策略&#xff0c;而很多文章并未提及版本问题&#xff0c;或是就算提了&#xff0c;读者也不重视。这些因素很容易让读者产生误导。今日我彻底研究透了…

html5——CSS背景属性设置

目录 背景颜色 background-color 背景图像 背景定位 背景样式简写 背景尺寸 ​编辑渐变属性 背景颜色 background-color 背景图像 background-image background-image:url(图片路径); 背景重复方式&#xff1a; background-repeat 属性&#xff1a; repeat&#…

Qt中在pro中实现一些宏定义

在pro文件中利用 DEFINES 定义一些宏定义供工程整体使用。&#xff08;和在cpp/h文件文件中定义使用有点类似&#xff09;可以利用pro的中的宏定义实现一些全局的判断 pro中实现 #自定义一个变量 DEFINES "PI\"3.1415926\"" #自定义宏 DEFINES "T…

Apache Flink 任务提交模式

Flink 任务提交模式 Flink可以基于多种模式部署&#xff1a;基于Standalone 部署模式&#xff0c;基于Yarn部署模式&#xff0c;基于Kubernetes部署模式以上不同集群部署模式下提交Flink任务会涉及申请资源&#xff0c;各角色交互过程&#xff0c;不同模式申请资源涉及到的角色…

2024信息创新与安全技术比赛规程及任务书

2024信息创新与安全技术比赛规程任务书 模块一&#xff1a;信创操作系统应用任务一&#xff1a;系统安装任务二&#xff1a;系统基本操作&#xff0c;以下操作都在Client-1进行。任务三&#xff1a;软件管理 模块二&#xff1a;办公软件技术应用任务一&#xff1a;文档编辑任务…

【栈和队列】算法题 ---- 力扣

通过前面栈和队列的学习&#xff0c;现在来看这些算法题目 一、有效的括号 本题让判断括号是否有效 第一眼看可能没一点思路&#xff0c;但仔细分析一下&#xff1b; 我们学习过栈数据结构&#xff0c;知道栈先进后出的原则&#xff0c;那我们就可以使用啊&#xff1b;把题目的…

MaxSite CMS v180 文件上传漏洞(CVE-2022-25411)

前言 CVE-2022-25411 是一个影响 Maxsite CMS v180 的远程代码执行漏洞。攻击者可以通过上传一个特制的 PHP 文件来利用这个漏洞&#xff0c;从而在受影响的系统上执行任意代码。 漏洞描述 该漏洞存在于 Maxsite CMS v180 的文件上传功能中。漏洞利用主要通过允许上传带有危…

嵌入式人工智能(10-基于树莓派4B的DS1302实时时钟RTC)

1、实时时钟&#xff08;Real Time Clock&#xff09; RTC&#xff0c;全称为实时时钟&#xff08;Real Time Clock&#xff09;&#xff0c;是一种能够提供实时时间信息的电子设备。RTC通常包括一个计时器和一个能够记录日期和时间的电池。它可以独立于主控芯片工作&#xff…

C语言函数:编程世界的魔法钥匙(2)-学习笔记

引言 注&#xff1a;由于这部分内容比较抽象&#xff0c;而小编我又是一个刚刚进入编程世界的计算机小白&#xff0c;所以我的介绍可能会有点让人啼笑皆非。希望大家多多包涵&#xff01;万分感谢&#xff01;待到小编我学有所成&#xff0c;一定会把这块知识点重新介绍一遍&a…