内涵:日常工作中docker的常用知识

内涵:日常工作中docker的常用知识

  • 1. docker高频指令(与参数)
  • 2. 单docker使用场景
  • 3.双(多)docker使用场景

  正如 优雅:从系统环境到依赖包的管理,最近工作中,对开发、部署环境中的管理全面迁移至docker镜像。本文是对docker相关高频指令和操作的记录:

1. docker高频指令(与参数)

  1. 构建镜像相关指令
docker build -t ${image} -f ${Dockerfile} ${CONTEXT_DIR}

  其中,${image}表示构建的镜像名称,例如:nvcr.io/nvidia/pytorch:22.09-py3

  {Dockerfile} 故名思意,就是构建所需要依赖的dockerfile。
  {CONTEXT_DIR}指上下文路径,例如Dockerfile中可能会存在这样的指令:
COPY ./app/requirements.txt /app/requirements.txt
  这里的./app/requirements.txt就是相对于${CONTEXT_DIR}来讲的。

  1. 启动镜像相关指令

最简模式:

docker run -ti --entrypoint=/bin/bash -v /home/xiaoming/code:/code nvcr.io/nvidia/pytorch:22.09-py3

  --entrypoint=/bin/bash表示容器启动的时候,会直接进入一个bash终端。另外一种常见的作法是在Dockerfile中制定容器的入口。例如:
ENTRYPOINT [ "sh", "./start-reload.sh" ]
这样,就可以做到在启动镜像的过程中,启动镜像中的服务或者执行一些操作。
  -v表示将主机路径挂载至容器路径。

  • 如果镜像中需要使用到gpu资源
    --gpus all或者--gpus 2
  • 给容器起一个名字方便管理
    --name my-container-name
  • 容器和宿主机共享内存
    --ipc=host否则可能会出现容器默认分配的内存不足。
  • -p 30006:30006用于将宿主机的端口映射到容器的端口,这样可以在容器的外部访问容器内部的服务。例如
docker run -p 8080:80 nginx

这条命令会启动一个基于 Nginx 镜像的容器,并将主机的 8080 端口映射到容器的 80 端口。这样,你可以通过访问主机的 http://localhost:8080 来访问容器内运行的 Nginx 服务。如果不加-p进行映射,因为容器内部的端口是隔离的,就无法在容器外部访问内部的服务。

2. 单docker使用场景

  在一个终端下,启动起来服务:
Uvicorn running on http://0.0.0.0:30009 (Press CTRL+C to quit)
  在另外一个终端下可以通过curl命令来快速的对服务进行测试:
curl -X POST http://0.0.0.0:30009/{service-interface} -H "Content-type:application/json" --data-binary @test.json

3.双(多)docker使用场景

  在一个容器中,启动起来一个服务A, 那么如何在另外一个容器中调用服务A呢?

  • 使用默认桥接网络:
    在docker run第一个容器的时候,利用–name为其起一个名字,例如container-A,在第二个容器调用该服务A的时候不再是http://0.0.0.0:30009而是http://container-A:30009
  • 使用自定义的桥接网络
docker network create my-network

然后启动第一个容器和第二个容器的时候都添加上参数--network my-network。那么此时两个容器就会存在于同一个自定义的桥接网络中,就可以进行通信。注意此时,方位服务A仍旧要通过```http://container-A:30009``这种方式进行。

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

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

相关文章

电子画册制作的小秘密都在这篇文章了

电子画册作为现代营销和展示的重要工具,已经成为各类企业和个人宣传品的首选。相比传统印刷画册,电子画册不仅节省成本,还能通过多媒体元素增强视觉冲击力,提升用户互动体验。本文将介绍电子画册制作的基础步骤和关键要点&#xf…

电气-伺服(4)CANopen

一、CAN Controller Area Network ,控制器局域网,80年的德国Bosch的一家公司研发可以测量仪器直接的实时数据交换而开发的一款串行通信协议。 CAN发展历史 二、CAN 的osi 模型 CAN特性: CAN 的数据帧 三、CANopen 什么是CANopen CANopen 的网络模型 …

Unity In App Purchasing内购校验

1,利用收据验证混淆器 把后台的key填进去,点击自动生成一些文件 2,代码过滤 using UnityEngine.Purchasing.Security;在IAPManager.cs的 public PurchaseProcessingResult ProcessPurchase(PurchaseEventArgs e)增加 #if !UNITY_EDITOR…

【C++之unordered_set和unordered_map的模拟实现】

C学习笔记---025 C之unordered_set和unordered_map的模拟实现1、unordered_set的模拟实现2、unordered_map的模拟实现 C之unordered_set和unordered_map的模拟实现 前言: 前面篇章学习了C对unordered_set和unordered_map的认识和应用,接下来继续学习&am…

Java_网络通信:TCP和UDP

1、区别 TCP Transfer Control Protocol 是一种面向连接的、可靠的、传输层通信协议。 ​ 特点: 好比是打电话:面向连接的,点对点的通信,高可靠的,效率比较低,占用的系统资源比较多。 UDP User Datagram…

香橙派AIpro如何赋能AI+边缘流媒体设备

文章目录 (一)前言(二)AI边缘流媒体设备展示(三)赋能AI边缘流媒体设备1、准备开发环境2、在板子中下载编译安装SRS3、基本推拉流测试4、多路推流性能测试 (四)一些注意事项1、开发板…

ESP32-C3模组上跑通MD5(3)

接前一篇文章:ESP32-C3模组上跑通MD5(2) 本文内容参考: ESP32 MD5 代码_esp32 idf md5开启-CSDN博客 ESP32学习笔记(47)——加密算法AES/MD5/SHA_esp32 aes-CSDN博客 特此致谢! 上一回解析了ESP-IDF中组件(components)中MD5相关的例程,也给出了笔者参照该例程自行…

springboot 篮球馆管理系统-计算机毕业设计源码21945

目 录 摘要 1 绪论 1.1选题背景 1.2研究意义 1.3论文结构与章节安排 2 篮球馆管理系统系统分析 2.1 可行性分析 2.1.1 技术可行性分析 2.1.2 经济可行性分析 2.1.3 法律可行性分析 2.2 系统功能分析 2.2.1 功能性分析 2.2.2 非功能性分析 2.3 系统用例分析 2.4 …

【笔记】字符串相似度代码分享

目录 一、算法介绍1、算法1)基于编辑距离2)基于标记3)基于序列4)基于压缩5)基于发音6)简单算法 2、安装 二、代码demo1、Hamming 距离2、Levenshtein 距离3、Damerau-Levenshtein距离4、Jaro 相似度5、Jaro…

ctfshow sql注入

开启其他注入 web221 limit注入 给出查询语句 以及过滤逻辑为空 获取数据库名即可 limit 用于控制返回结果行数 limit后面似乎只能跟PROCEDURE ANALYSE( ) 函数了 PROCEDURE ANALYSE( ) 函数用于分析查询结果的函数 参数是用来控制函数的 这个参数的位置 可以放入报错函数 原…

MySQL—创建查看删除备份恢复数据库

创建数据库 创建数据库 LLF_DB01CREATE DATABASE LLF_DB01删除数据库DROP DATABASE LLF_DB01创建一个使用utf8字符集的数据库并带校对规则的数据库CREATE DATABASE hsp_db03 CHARACTER SET utf8 COLLATE utf8_bin 查看、删除数据库 显示所有的数据库SHOW DATABASES显示数据库…

AI PC(智能电脑)技术分析

一文看懂AI PC(智能电脑) 2024年,英特尔、英伟达等芯片巨头革新CPU技术,融入AI算力,为传统PC带来质的飞跃,引领智能计算新时代。 2024年,因此被叫作人工智能电脑(AI PC)…

归一化(normalization)

归一化是指对数据进行标准化处理,使其均值为0,方差为1,从而消除不同特征量纲的影响,使得不同特征之间可以进行比较和计算。对于时间序列数据,归一化的目的是减弱非平稳性,使得模型能够更好地学习数据的规律…

2024 年第十四届 APMCM 亚太地区大学生数学建模竞赛B题超详细解题思路+数据预处理问题一代码分享

B题 洪水灾害的数据分析与预测 亚太中文赛事本次报名队伍约3000队,竞赛规模体量大致相当于2024年认证杯,1/3个妈杯,1/10个国赛。赛题难度大致相当于0.6个国赛,0.8个妈杯。该比例仅供大家参考。 本次竞赛赛题难度A:B:C3:1:4&…

C语言程序是怎么在计算机中运行起来的

hello.c #include <stdio.h>int main(){printf("hello,world\n");return 0; }这段 C语言程序的代码能被编程人员读懂&#xff0c;但是计算机系统读不懂。C语言、C、java 这些高级编程语言本质上还是人类用的语言而不是计算机用的语言。 为了能在计算机上运行这…

无忧易售功能:刊登页面文本翻译,无缝对接全球买家

每一个词语&#xff0c;每一句话&#xff0c;都承载着产品的灵魂和品牌的故事&#xff0c;无忧易售的刊登页面文本翻译服务&#xff0c;一键操作即可将你的产品介绍、详情或广告文案转化为多语言版本&#xff0c;轻松管理&#xff0c;高效发布。 一、Allegro、OZON、Coupang、…

第7章:Electron文件系统操作(2)

7.2 文件对话框 Electron 提供了 dialog 模块用于显示文件打开和保存对话框。 7.2.1 显示文件打开对话框 主进程代码&#xff1a; const { app, BrowserWindow, ipcMain, dialog } require(electron); const path require(path);let mainWindow;const createMainWindow …

盘点2024年最新鼠标连点器推荐

电脑鼠标连点器是一种可以帮助用户自动化点击操作的小工具&#xff0c;广泛应用于游戏、自动化办公和测试等领域。选择一款合适的鼠标连点器能够提高工作和娱乐的效率&#xff0c;避免重复点击带来的疲劳。小编将为您介绍电脑鼠标连点器的产品特点、推荐几款实用的鼠标连点器并…

网络中未授权访问漏洞(Rsync,PhpInfo)

Rsync未授权访问漏洞 Rsync未授权访问漏洞是指Rsync服务配置不当或存在漏洞&#xff0c;导致攻击者可以未经授权访问和操作Rsync服务。Rsync是一个用于文件同步和传输的开源工具&#xff0c;通常在Unix/Linux系统上使用。当Rsync服务未经正确配置时&#xff0c;攻击者可以利用…

Python机器学习-线性回归算法

线性关系 x和y呈一条直线 优点 简单易懂 线性模型具有一定的稳定性。从技术角度,我们在评价模型的优劣好坏时,通常从两个维度去评判,一是模型预测的准确性,二是模型预测的稳健性,两者相辅相成、缺一不可。关于模型预测的准确性,如果模型能够尽可能的拟合了历史数据信息,…