【Docker实操】创建一个Nginx服务

一、不使用DockerFile

1、获取nginx官方镜像

docker pull nginx	//拉取nginx官方镜像
docker image nginx	//查看镜像

2、创建项目目录

项目目录:/root/www2/nginx

//如果当前目录在root
mkdir www2
mkdir www2/nginx
cd www2/nginx	//进入项目目录

3、创建源码文件

//当前目录:/root/www2/nginx
//1、方案一:在当前目录下创建
echo 'hello docker!!' >> index.html
//2、方案一:在指定目录web下创建
mkdir web
echo 'hello docker!!' >> web/index.html
//3、使用vi编辑器创建
vi index.html	//进入vi编辑器
//进入insert模式,输入内容后,esc+【wq】保存并退出

4、创建并启动容器

当前目录:/root/www2/nginx

  1. 前台启动容器
docker run -p 8011:80 -v $PWD:/usr/share/nginx/html nginx

image-20231203152318487

  1. 后台启动容器【-d】
docker run -p 8011:80 -v $PWD:/usr/share/nginx/html -d nginx

image-20231203152515856

成功启动后,可以在使用公网IP:8011访问网站。

image-20231203152932018

5、目录映射【-v】说明

【-v】命令解释:-v $PWD:/usr/share/nginx/html

创建宿主机和虚拟机中目录映射,改变宿主机中的文件,会自动同步虚拟机中对应的文件。

还是拿上面的容器,我们尝试修改宿主机中root/www2/nginx/index.html,然后查看虚拟机中/usr/share/nginx/html/index.html是否自动做了修改,最后查看访问页面时,是否做了也同步修改了。

  1. 修改宿主机文件
echo 'hello world!->itfeiniu'>index.html//重写内容
  1. 查看虚拟机文件
docker ps 	//查看容器,找到容器id
docker exec -it b736 /bin/bash	//进入容器
cat /usr/share/nginx/html/index.html	//查看虚拟机中对应映射文件内容

image-20231203155200907

  1. 访问页面

再次访问页面,我们看到页面中内容已经更新。

image-20231203154541645

二、使用DockerFile(不使用目录映射)

1、创建源码目录

//如果当前目录在root
mkdir www2
mkdir www2/nginx2
cd www2/nginx2	//进入项目目录

2、创建Dockerfile

  1. 进入vi编辑器

vi Dockerfile


2. 输入内容

```sh
#Dockerfile
FROM nginx:latest
RUN echo '<h1>Hello, ITFeiniu!</h1>' > /usr/share/nginx/html/index.html
  1. 完成编辑::wq

3、自定义镜像

//定义镜像版本号,“.”点号路径
docker build -t nginx:itfeiniu .    

4、启动自定义镜像

docker run -p 8012:80 nginx:itfeiniu

image-20231203221126770

三、使用DockerFile(使用目录映射)

1、创建源码目录

//如果当前目录在root
mkdir www2
mkdir www2/nginx2
cd www2/nginx2	//进入项目目录

2、创建Dockerfile

  1. 进入vi编辑器

    vi Dockerfile
    
  2. 输入内容

    #Dockerfile
    FROM nginx:latest
    
  3. 完成编辑::wq

3、自定义镜像

//定义镜像版本号,“.”点号路径
docker build -t nginx:itfeiniu .    

4、启动自定义镜像

docker run -p 8012:80 -v $PWD:/usr/share/nginx/html -d nginx:itfeiniu

image-20231203224233111

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

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

相关文章

产品经理面试问题(四)

今天和大家免费分享产品经理常见的面试题目&#xff0c;含回答思路分析和回答事例。 【资源下载】 这个模板可以在 Axure高保真原型哦 小程序里免费下载 打开小程序后&#xff0c;在文档模板模块&#xff0c;搜索产品经理面试题目&#xff0c;获取下载地址 更多原型模板、视…

护眼灯什么光对眼睛好?适合考研党用的台灯推荐

如今&#xff0c;大多数人的日常工作和学习都离不开电子设备&#xff0c;长时间盯着屏幕容易造成眼睛疲劳和视力下降。全国近视率占多数的还是青少年&#xff0c;护眼台灯作为一种照明设备&#xff0c;具有调节光线亮度和色温的功能&#xff0c;可以有效减少眼睛的疲劳&#xf…

实时设计#N3期训练营DONE,ComfyUI中文社区@上海

作为主办方&#xff0c;我们非常高兴能够举办这次AIGC训练营&#xff0c;重点解决Comfyui的安装和入门。活动在下午1:30开始&#xff0c;在上海永兴仓库举行。 首先&#xff0c;我们向参与者介绍了本次活动的目的和安排&#xff0c;让大家对活动有一个清晰的认识。 接着&#x…

每周一算法:背包问题(三)多重背包

多重背包 有 N N N件物品和一个容量是 M M M的背包。第 i i i种物品最多有 s i s_i si​件&#xff0c;每件的体积是 v i v_i vi​&#xff0c;价值是 w i w_i wi​。 求解将哪些物品装入背包&#xff0c;可使这些物品的总体积不超过背包容量&#xff0c;且总价值最大。 输…

Qt 如何操作SQLite3数据库?数据库创建和表格的增删改查?

# 前言 项目源码下载 https://gitcode.com/m0_45463480/QSQLite3/tree/main # 第一步 项目配置 平台:windows10 Qt版本:Qt 5.14.2 在.pro添加 QT += sql 需要的头文件 #include <QSqlDatabase>#include <QSqlError>#include <QSqlQuery>#include &…

Dockerfile脚本编写流程及示例

学习dockerfile指令 Dockerfile 指令 说明 FROM 指定基础镜像 MAINTAINER 声明镜像的维护者 LABEL 添加元数据标签 RUN 在容器中执行命令 CMD 容器启动后默认执行的命令 EXPOSE 暴露容器的端口 ENV 设置环境变量 ADD 将文件、目录或远程文件添加到容器中 COP…

以用户为中心的前端性能

1. 简介 前端性能跟用户体验息息相关。举个栗子&#xff0c;当你打开乘车码扫码进站&#xff0c;网页白屏了很久才加载出来&#xff0c;延误了乘车时间&#xff1b;当你在微信抢红包时&#xff0c;点击按钮后延迟了一会才开始转圈圈&#xff0c;最终没抢到红包。当出现这样的情…

医疗器械设备模组的具体应用

直线模组是一种高精度、高速度的精密传动元件&#xff0c;目前被广泛应用在各种工业自动化领域&#xff1b;尤其是在激光加工、电子制造、医疗设备、物流设备和机器人等行业中&#xff0c;都发挥着重要作用&#xff0c;接下来我们看看医疗器械设备模组的具体应用吧&#xff01;…

echarts笔记-GeoJSON河北数据下并裁剪为冀北地图并使用echarts加载

首先找个网站把河北的GeoJSON数据下载下来&#xff0c;我用的是这个&#xff0c;理论上任意一个都可以 DataV.GeoAtlas地理小工具系列 将json数据下载后&#xff0c;进行裁剪&#xff0c;仅保留冀北数据。 如下&#xff0c;我裁剪的数据&#xff1a; {"type": &qu…

【备忘干货】c/c++ (wasm)和js互相调用记录

c/c&#xff08;wasm&#xff09;和js互相调用记录 废话 :)准备工作&#xff1a;安装Emscripten初探&#xff1a;C(wasm)之hello world进一步探究&#xff1a;接口调用1.js调用c&#xff0c;一些基本类型的传递&#xff08;char*&#xff0c;int&#xff0c;float&#xff09;以…

企业安全生产管理系统功能介绍

安全生产管理系统通过借助信息化手段和技术算法&#xff0c;建立了一个集安全风险监测预警、安全分区管理、隐患排查治理、特殊作业、人员定位管控于一体的“一张图”平台。平台可以实现企业安全生产管控的全面监管&#xff0c;推动公司生产安全业务的动态管理、集中管理和协同…

014 OpenCV canny边缘检测

一、环境 本文使用环境为&#xff1a; Windows10Python 3.9.17opencv-python 4.8.0.74 二、canny原理 OpenCV中的Canny边缘检测算法是一种基于图像处理的计算机视觉技术&#xff0c;主要用于检测图像中的边缘。Canny边缘检测算法的原理是通过计算图像中像素点之间的梯度值来…

GPT4-Turbo技术原理研发现状及未来应用潜力分析报告

今天分享的是GPT4-Turb系列深度研究报告&#xff1a;《GPT4-Turbo技术原理研发现状及未来应用潜力分析报告》。 &#xff08;报告出品方&#xff1a;深度行业分析研究&#xff09; 报告共计&#xff1a;46页 图像理解能力提升&#xff1a;三大视觉学习方法  为打造视觉大模…

53.redis分布式缓存

目录 一、单机安装Redis。 二、Redis主从集群。 2.1.集群结构 2.2.准备实例和配置 2.3.启动 2.4.开启主从关系 2.5.测试 三、搭建哨兵集群。 3.1.集群结构 3.2.准备实例和配置 3.3.启动 3.4.测试 四、搭建分片集群。 4.1.集群结构 4.2.准备实例和配置 4.3.启动…

网络层之SDN基本概念、路由算法和路由协议

学习的最大理由是想摆脱平庸&#xff0c;早一天就多一份人生的精彩&#xff1b;迟一天就多一天平庸的困扰。各位小伙伴&#xff0c;如果您&#xff1a; 想系统/深入学习某技术知识点… 一个人摸索学习很难坚持&#xff0c;想组团高效学习… 想写博客但无从下手&#xff0c;急需…

淘宝API接口申请指南

一、申请条件数据接口 已注册淘宝账号并完成实名认证&#xff1b;拥有良好的淘宝信用记录&#xff1b;符合淘宝API接口的相关规定。 二、申请流程 登录淘宝账号&#xff0c;进入“卖家中心”页面&#xff1b;点击“我要开店”-“申请应用”&#xff0c;选择“淘宝API”&…

LangChain(0.0.340)官方文档五:Model

LangChain官网、LangChain官方文档 、langchain Github、langchain API文档、llm-universe 文章目录 一、Chat models1.1 Chat models简介1.2 Chat models的调用方式1.2.1 环境配置1.2.2 使用LCEL方式调用Chat models1.2.3 使用内置Chain调用Chat models 1.3 缓存1.3.1 内存缓存…

【Linux】:线程(一)概念

线程概念 一.线程1.简单理解2.一些疑问3.简单说一下优缺点&#xff0c;异常和用途 二.进程VS线程1.进程和线程的联系和区别2.phread线程库(创建)3.线程的LWP4.线程等待5.线程终止 三.C11里的线程四.创建线程最底层接口 一般教程里定义线程&#xff1a;是进程内的一个执行分支。…

PicoScope 7 软件报警功能可实现自动保存和循环捕捉

最近很多用户提到&#xff0c;怎么让虹科Pico示波器采集信号到缓冲区满了之后自动保存在电脑里&#xff0c;然后清出缓存空间继续采集&#xff0c;如此循环工作。这里不得不向大家介绍一下PicoScope软件的强大功能之一&#xff1a;报警功能&#xff01; 报警在软件的工具菜单下…

盘点最近两个世纪那些搞怪又精彩的专利

人类的创新是无止境的&#xff0c;下面收集的就是最近两个世纪全球那些奇怪搞笑、精彩的6项专利。 小胡子卫士 (1876) 这款“胡须防护罩”由 VA.Gates 于 1876 年获得专利&#xff0c;是在节日盛宴期间保护胡须的巧妙解决方案。“弯曲和凹形的护罩&#xff0c;可以由硫化橡胶、…