微服务实战系列之玩转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.rhkb.cn/news/383403.html

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

相关文章

【python】OpenCV—Open URL Images

文章目录 1、需求描述2、方法一,numpyurlopen3、方法二,scikit-learn4、涉及到的库urllib.request.urlopenskimage.io.imread 5、参考文章 1、需求描述 给出一个 url 链接,显示该链接对应的图片 2、方法一,numpyurlopen # 导入…

Linux应用——socket函数及TCP通信

网络通信实质上也是实现进程间通信,只是与之前进程间通信不同的是,现在在不同的计算机上进行进程间通信。比如:利用QQ工具实现聊天,在两个电脑上有不同的QQ进程之间在通信。而网络通信是如何使用进程间通信呢?采用的是…

力扣高频SQL 50 题(基础版)第一题

文章目录 力扣高频SQL 50 题(基础版)第一题1757.可回收且低脂的产品题目说明思路分析实现过程准备数据:实现方式:结果截图: 力扣高频SQL 50 题(基础版)第一题 1757.可回收且低脂的产品 题目说…

pdf2docx - pdf 提取内容转 docx

文章目录 一、关于 pdf2docx主要功能限制 二、安装1、 PyPI2、从remote安装3、从源码安装4、卸载 三、转化 PDF例 1: convert all pages例 2: 转换指定页面例 3: multi-Processing例 4: 转换加密的pdf 四、提取表格五、命令行交互1、按页面范围2、按页码3、Multi-Processing 六…

Java之集合底层-数据结构

Java集合之数据结构 1 概述 数据结构是计算机科学中研究数据组织、存储和操作的一门学科。它涉及了如何组织和存储数据以及如何设计和实现不同的数据操作算法和技术。常见的据结构有线性数据结构(含数组、链表、栈和队列等),非线性数据结构…

探索算法系列 - 双指针

目录 移动零(原题链接) 复写零(原题链接) 快乐数(原题链接) 盛最多水的容器(原题链接) 有效三角形的个数(原题链接) 查找总价格为目标值的两个商品&…

数据库表结构创建

一、原型图 二、分析 1、天气,值字段只有实测值,可用一个字段表示(单位、来源同上) 2、气温有默认值与实测值两个选项,一个字段无法表示默认值与实测值(单位,来源同上) 3、因为有…

SpringMVC 控制层框架-下

五、SpringMVC其他扩展 1. 异常处理机制 1.1 异常处理概念 开发过程中是不可避免地会出现各种异常情况,例如网络连接异常、数据格式异常、空指针异常等等。异常的出现可能导致程序的运行出现问题,甚至直接导致程序崩溃。因此,在开发过程中&a…

LoFTR关键点特征匹配算法环境构建与图像匹配测试Demo

0,LoFTR CVPR 2021论文《LoFTR: Detector-Free Local Feature Matching with Transformers》开源代码 1,项目主页 LoFTR: Detector-Free Local Feature Matching with Transformers 2,GItHub主页 GitHub - zju3dv/LoFTR: Code for "…

Vue 状态管理 Vue CLI

Vue 状态管理 & Vue CLI 1、状态管理2、集中状态管理2.1 Vuex2.1.1 Vuex核心概念2.1.2 Vuex Store实例2.1.3 Vuex Getter2.1.4 Vuex Mutation2.1.4 Vuex Actions2.1.4 Vuex Module 2.2 Pinia2.2.1功能增强 3、Vuex 实现原理4、Pinia 实现原理5、CLI5.1 实现 1、状态管理 将…

vue 搜索框

效果 创建搜索组件: 在Vue项目中,首先需要创建一个搜索组件。这个组件通常包含一个输入框和一个搜索按钮。使用v-model指令将输入框与组件的数据属性(如searchKeyword)进行双向绑定,以便获取用户输入的关键词。处理搜索…

MongoDB教程(二十一):MongoDB大文件存储GridFS

💝💝💝首先,欢迎各位来到我的博客,很高兴能够在这里和您见面!希望您在这里不仅可以有所收获,同时也能感受到一份轻松欢乐的氛围,祝你生活愉快! 文章目录 引言一、GridFS…

科技云报道:算网筑基AI注智,中国联通如何讲出AI时代的“新故事”?

科技云报道原创。 AI从未停止进化,也从未停止给人类带来惊喜。 从ChatGPT代表的文生文、Dall-E代表的文生图,到Sora代表的文生视频,Suno为代表的文生音乐,生成式AI的“暴力美学”持续突破内容生产的天花板,大模型技术…

【LLM】-07-提示工程-聊天机器人

目录 1、给定身份 1.1、基础代码 1.2、聊天机器人 2、构建上下文 3、订餐机器人 3.1、窗口可视化 3.2、构建机器人 3.3、创建JSON摘要 利用会话形式,与具有个性化特性(或专门为特定任务或行为设计)的聊天机器人进行深度对话。 在 Ch…

vue import from

vue import from 导入文件,从XXXX路径;引入文件 import xxxx from “./minins/resize” import xxxx from “./minins/resize.js” vue.config.js 定义 : resolve(src);就是指src 目录 import xxxx from “/utils/auth” im…

新版GPT-4omini上线!快!真TM快!

大半夜,OpenAI突然推出了GPT-4o mini版本。 当我看到这条消息时,正准备去睡觉。mini版本质上是GPT-4o模型的精简版本,没有什么革命性的创新,因此我并没有太在意。 结果今天早上一觉醒来发现伴随GPT-4o mini上线,官网和…

RAS--APEI 报错解析流程(2)

RAS--APEI 报错解析流程(1) 除了APEI 中除了GHES会记录错误,在Post过程中的错误通常是通过BERT Table汇报 1.BERT Boot Error Record Table is used to report unhandled errors that occurred in a previous boot,it is reported as a ‘one-time polle…

stats 监控 macOS 系统

Stats 监控 macOS 系统 CPU 利用率GPU 利用率内存使用情况磁盘利用率网络使用情况电池电量 brew install stats参考 stats github

Ansible的脚本-----playbook剧本【上】

目录 1.playbook剧本组成 2.playbook剧本实战演练 2.1 实战演练一:给被管理主机安装httpd服务 2.2 实战演练二:定义、引用变量 2.3 实战演练三:指定远程主机sudo切换用户 2.4 实战演练四:when条件判断 2.5 实战演练五&…

ElasticSearch(六)— 全文检索

一、match系列查询 前面讲到的query中的查询,都是精准查询。可以理解成跟在关系型数据库中的查询类似。match系列的查询,是全文检索的查询。会通过分词进行评分,匹配,再返回搜索结果。 1.1 match 查询 "query": {&qu…