docker run 命令详解

一、前言

Docker容器是一个开源的应用容器引擎,让开发者可以以统一的方式打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何安装了Docker引擎的服务器上(包括流行的Linux机器、Windows机器),也可以实现虚拟化。以下是Docker容器的特点:

  1. 沙箱机制:容器是完全使用沙箱机制,相互之间不会有任何接口(类似iPhone的app)。
  2. 性能开销小:几乎没有性能开销,可以很容易地在机器和数据中心中运行。
  3. 语言、框架、系统无关:最重要的是,容器不依赖于任何语言、框架包括系统。所以,需要通过设计和部署把这些服务拆分成为它们自己的容器。
  4. 扩展性:如果一个应用程序能够被拆分成为越多的分布式组件,那么应用程序扩展的选择则越多。
  5. 配置管理:企业用户可以把这些配置部署在容器中或使用环境变量。为了积极主动地关注基于容器的应用程序的运行状况,可考虑实施必要的监控和管理机制,确保打开日志记录功能。
  6. 命令行工具和API:Docker提供了一个命令行工具Docker以及一整套RESTful API。
  7. 架构:Docker采用C/S架构,Docker daemon作为服务端接受来自客户的请求,并处理这些请求(创建、运行、分发容器)。客户端和服务端既可以运行在一个机器上,也可通过socket或者RESTful API来进行通信

二、nginx docker run 命令详解

docker run -d \
  --name nginx \
  --net=host \
  -v /home/docker/apps/nginx/www:/usr/share/nginx/html \
  -v /home/docker/apps/nginx/conf/nginx.conf:/etc/nginx/nginx.conf \
  -v /home/docker/apps/nginx/logs:/var/log/nginx \
  -v /home/docker/apps/nginx/conf.d:/etc/nginx/conf.d \
  -v /home/docker/apps/nginx/cert:/etc/nginx/cert \
  nginx

-d: 在后台以守护进程模式运行容器。
--name nginx: 为容器指定一个名称,可以进行自定义名称。
 
 -v /home/docker/apps/nginx/www:/usr/share/nginx/html \: 将主机上的 NGINX 配置文件目录挂载到容器中的usr/share/nginx/html目录,以便使用自定义的 NGINX 配置。

所以在nginx  location中只需要指向容器的路径,实际访问的就是主机的路径,他们是个映射关系,或者说是个代理关系

如:配合的是  /usr/share/nginx/html/member-plat  实际主机上 /home/docker/apps/nginx/wwwmember-plat 

   #静态资源
   location /icon/ {
                root /usr/share/nginx/html/member-plat;
                try_files $uri $uri/ /index.html;
        }


 docker run --name eureka_docker  -d -p 8861:8861 eureka_host


 docker run --name eureka_docker  -d -p 8861:8861 eureka_host

所以这一段的意思是 运行主机上的 eureka_host  在容器中叫 eureka_docker  主机的  8861 映射 容器的 8861 ,通过主机的8861 实际访问的就是容器的 8861

三、DockerFile的使用

Dockerfile是一个用来构建镜像的文本文件,其中包含了一系列的指令和说明,这些指令和说明告诉Docker如何构建镜像。

Docker通过阅读Dockerfile中的指令代码来构建镜像文件。在Dockerfile中,可以使用多种指令来定义如何构建镜像,例如:

  1. FROM:指定基础镜像;
  2. RUN:在容器中执行命令;
  3. COPY:将文件从主机复制到容器中;
  4. ENV:设置环境变量;
  5. EXPOSE:声明容器将监听的端口;
  6. CMD:定义容器启动时执行的命令。

要创建一个Dockerfile,需要在项目目录中创建一个名为Dockerfile的文件,并在其中编写指令。编写Dockerfile的指令将按照文件中的顺序逐一执行。使用docker build命令可以构建镜像。

FROM java:8
VOLUME /tmp
ADD eureka.jar eureka.jar
EXPOSE 8861

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【hcie-cloud】【20】容器详解【容器介绍,容器工作机制、容器常用命令说明】【上】

文章目录 前言容器是什么虚拟化技术的四个特点容器也是一种虚拟化技术容器是怎么实现虚拟化的?容器对比虚拟机有哪些优势?容器对比虚拟机有哪些不足?容器不仅是一种虚拟化技术,更重要的是一种应用打包机制容器提供的是PaaS服务常见…

SSH远程访问出现Permission denied(password)解决方法

首先,这个不是密码输错了的问题; 1、在主机先ping一下服务器 ping XXX.XXX.XX.XXX (服务器ip地址) 如果pin成功了,说明可以进行连接 查看服务器的ip ifconfig2、主机连接服务器 (服务器的ip) ssh testXXX.XXX.XX.…

Java中SpringBoot组件集成接入【MQTT中间件】

Java中SpringBoot组件集成接入【MQTT中间件】 1.MQTT介绍2.搭建MQTT服务器1.Windows2.Ubuntu3.Docker4.其他方式3.mqtt可视化客户端MQTTX及快速使用教程4.SpringBoot接入MQTT1、maven依赖2、MQTT配置3、MQTT组件具体代码1.定义通道名字2.消息发布器3.MQTT配置、生产者、消费者4…

线扫相机品牌汇总(国外+国内)

线扫相机品牌汇总(国外+国内) 行者 ​ 热爱生活 22 人赞同了该文章 线扫相机也叫做线阵相机,和面阵相机一样,都是重要的工业相机。 线扫相机正如其名字那样,拍照时像扫描一样,相机和被拍照物体有相对匀速运动。 Perhaps the most common example of line scan imagin…

如何顺滑使用华为云编译构建平台?

这两年平台构建服务需求越来越大,却一直苦于找不到一些指南, 这里特意写了一篇, 对在学习代码阶段和新手程序员朋友也蛮友好, 配置真的也不难, 也特别适合想尝试从0到1做个APP的朋友了。 以华为云的CodeArts Build为例…

Mac/Linux虚拟机CrossOver2024新版下载使用教程

CrossOver不像Parallels或VMware的模拟器,而是实实在在Mac OS X系统上运行的一个软件,该软件可以让用户在mac是上直接运行windows软件,本文为大家带来的是CrossOver Mac版安装教程! CrossOver Mac-安装包下载如下:http…

ubuntu系统(9):ubuntu 20.02安装pydot

目录 警告信息 1、确保安装了Python和pip 2、安装Graphviz软件包 3、pip安装pydot 验证 在gem5中,pydot库用于生成图形化输出,特别是生成.dot文件和相关的图像文件,如PDF、PNG等。它与gem5结合使用的一个常见用途是生成系统结构图、内存…

MFC结合GDI+

MFC结合GDI 创建一个空的MFC界面,在确定按钮函数里进行画图: 1、包含头文件与库 在stdafx.h中加入以下三行代码: #include "gdiplus.h" using namespace Gdiplus; #pragma comment(lib, "gdiplus.lib")2、安装GDI 在…

深度学习 Day25——J4 ResNet与DenseNet结合探索(DPN)

🍨 本文为🔗365天深度学习训练营 中的学习记录博客🍖 原作者:K同学啊 | 接辅导、项目定制🚀 文章来源:K同学的学习圈子 文章目录 前言1 我的环境2 pytorch实现DPN算法2.1 前期准备2.1.1 引入库2.1.2 设置GP…

【C++进阶04】STL中map、set、multimap、multiset的介绍及使用

一、关联式容器 vector/list/deque… 这些容器统称为序列式容器 因为其底层为线性序列的数据结构 里面存储的是元素本身 map/set… 这些容器统称为关联式容器 关联式容器也是用来存储数据的 与序列式容器不同的是 其里面存储的是<key, value>结构的键值对 在数据检索时…

MongoDB高级集群架构设计

两地三中心集群架构设计 容灾级别 RPO & RTO RPO&#xff08;Recovery Point Objective&#xff09;&#xff1a;即数据恢复点目标&#xff0c;主要指的是业务系统所能容忍的数据丢失量。RTO&#xff08;Recovery Time Objective&#xff09;&#xff1a;即恢复时间目标&…

赋能软件开发:生成式AI在优化编程工作流中的应用与前景

随着人工智能&#xff08;AI&#xff09;技术的快速发展&#xff0c;特别是生成式AI模型如GPT-3/4的出现&#xff0c;软件开发行业正经历一场变革&#xff0c;这些模型通过提供代码生成、自动化测试和错误检测等功能&#xff0c;极大地提高了开发效率和软件质量。 本文旨在深入…

ArcGIS中style文件的导入及lyr的文件的使用

地图是地理信息的重要载体&#xff0c;科学的配色方案可以有效地传递地理信息&#xff0c;而美观协调的配色方案也是我们进行地图符号化设计的重要内容。在日常工作中&#xff0c;我们常常苦恼于自带颜色不能满足需要或是希望使用现成的颜色模板&#xff0c;自定义配色方案导入…

一文详解VScode 的远程开发

VS code登录服务器后进行编码和调试&#xff0c;VS code上的所有功能都可以使用&#xff0c;和在本地开发基本无区别。 一、配置免密远程登录 因为是要远程登录&#xff0c;那么需要通过使用ssh进行密钥对登录&#xff0c;这样每次登录服务器就可以不用输入密码了。 先来一句官…

Python综合数据分析_RFM用户分层模型

文章目录 1.数据加载2.查看数据情况3.数据合并及填充4.查看特征字段之间相关性5.聚合操作6.时间维度上看销售额7.计算用户RFM8.数据保存存储(1).to_csv(1).to_pickle 1.数据加载 import pandas as pd dataset pd.read_csv(SupplyChain.csv, encodingunicode_escape) dataset2…

Qt - QML框架

文章目录 1 . 前言2 . 框架生成3 . 框架解析3.1 qml.pro解析3.2 main.cpp解析3.3 main.qml解析 4 . 总结 【极客技术传送门】 : https://blog.csdn.net/Engineer_LU/article/details/135149485 1 . 前言 什么是QML&#xff1f; QML是一种用户界面规范和编程语言。它允许开发人员…

C++类与对象基础(6)

(注&#xff1a;本篇文章介绍部分内容时&#xff0c;需要用到上盘文章中日期类的代码&#xff0c;文章链接如下&#xff1a;C类与对象基础(5)——日期类的实现-CSDN博客​​​​​​&#xff09; 目录 1. 运算符重载的相关补充&#xff1a; 1.1流运算符重载出现的问题&#x…

C语言爬虫程序采集58商铺出租转让信息

为了找到一个好店铺好位置&#xff0c;往往要花费很大精力和财力过去寻找&#xff0c;就有有某些出租平台但是一个个查找下来也是十分麻烦&#xff0c;所以我利用我们的C语言基础&#xff0c;给大家写个商品转租的爬虫程序&#xff0c;让找店铺不在那么费时费力&#xff0c;至少…

图像去噪——CBDNet网络训练自己数据集及推理测试,模型转ONNX模型(详细图文教程)

CBDNet 主要由两个子网络组成&#xff1a;噪声估计子网络和去噪子网络。噪声估计子网络用于估计图像的噪声水平&#xff0c;而去噪子网络用于去除图像中的噪声。 CBDNet 的优势在于&#xff1a; 它采用了更真实的噪声模型&#xff0c;既考虑了泊松-高斯模型&#xff0c;还考虑…

37-数据类型,一元运算符typeof,字符串string,布尔Boolean,未定义undefined,空null,数组Array

<body><script>// 0.1加0.2不等于0.3&#xff0c;正确的运算方法如下console.log(0.10.2);var x 0.1;var y 0.2;console.log((x*10y*10)/10);</script> </body> 简单数据类型&#xff08;5种&#xff09;&#xff1a;数字number&#xff0c;字符串s…