LaoCat带你认识容器与镜像(实践篇一上)

news2024/11/18 22:35:45

实践篇主要以各容器的挂载和附加命令为主。

本章内容

Dockerfile基础命令详解。

本文实操全部基于Ubuntu 20.04
宿主机 => linux服务器本身
Docker => 20.10.22

从该章开始,我们就进入了Docker实践篇系列了,主要介绍Docker相关附加命令,与实际日常生产部署注意点等,本章主要围绕Docker安装并运行之NginxTomcatJenkinsGitLab,大部分命令来源于DockerHub官网,我们将本章分为上下俩节,为演示方便这里我们新建挂载目录/install_ls,并对对应的软件本身建立目录,命令如下。

mkdir -p /install_ls/nginx/ /install_ls/tomcat /install_ls/jenkins /install_ls/gitLab


Docker安装并运行Nginx

前边的章节其实很多都是拿Nginx做的例子,但这里还是要详细演示一遍,以及在实际生产中该如何进行配置和进行挂载,这里我们Nginx的版本以1.22.0为主,在挂载目录下新建配置文件目录,并从Nginx官网下载对应的配置文件并上传到服务器中,也可以通过直接启动一个nginx容器来复制运行中容器的配置文件到宿主机,这里我们通过第二种方式来进行演示。

  1. 首先我们在Nginx挂载目录下新建挂载配置文件目录nginx/conf与页面目录nginx/html,执行命令mkdir nginx/conf nginx/html

  2. 快速启动一个Nginx,端口随机映射。

  3. 然后从快速启动并运行中的Nginx容器中复制配置文件到宿主机挂载配置文件目录下。

  4. 停止并删除步骤1快速启动的容器Nginx

  5. 修改步骤3复制出来的配置文件并在html目录下新建测试页面。

  6. 保存以后我们开始正式启动Nginx,命令如下。

    docker run -d -p 8011:80 \
     --name nginx \
     -v /install_ls/nginx/conf/conf.d:/etc/nginx/conf.d \
     -v /install_ls/nginx/conf/nginx.conf:/etc/nginx/nginx.conf \
     -v /install_ls/nginx/html:/usr/share/nginx/html \
     nginx:1.22.0
    


  7. 访问宿主机IP+映射端口,Nginx启动完成。

Nginx容器的启动需要注意挂载目录一定要匹配,另外需要注意的在相应的挂载目录变更后需要重启容器,如果是生产环境,建议将挂载目录进行定期冷备,我们这里并没有把Nginx的日志目录进行挂载,生产环境强烈建议对日志目录进行挂载,方便排查,与环节6挂载命令大同小异,需要的童鞋自行了解。


Docker安装并运行Tomcat

tomcat也是日常比较常使用的容器,虽然现在有了更好的web服务器比如undertow,哈哈~跑题了,我们继续tomcat,同nginx一致,tomcat也需要挂载目录,一般我们针对tomcat会挂载其日志目录与工作目录。

  1. 在挂载目录/install_ls/tomcat下新建webappslogs目录,执行命令mkdir -p /install_ls/tomcat/webapps /install_ls/tomcat/logs

  2. 启动tomcat容器。

    docker run -d -p 8111:8080 \
    -v /install_ls/tomcat/logs:/usr/local/tomcat/logs \
    -v /install_ls/tomcat/webapps:/usr/local/tomcat/webapps \
    -e TZ="Asia/Shanghai" \
    --name tomcat8 \
    tomcat:8.0
    

  3. 这时访问tomcat并不能访问成功,因为webapps下并没有相应war包,我这里从gitee找了一个简单示例下的war包丢入到挂载的webapps目录下,重启tomcat容器,访问webapps目录可以看到。
    然后我们通过挂载的日志目录查看该项目运行日志,执行命令tail -f /install_ls/tomcat/logs/catalina.2023-02-01.log,可以看到。

  4. 访问宿主机IP+映射端口+web路径,tomcat启动完成,项目正常运行。

tomcat启动方式推荐使用Dockerfile来启动,同Nginx一样需要格外注意挂载路径是否完全匹配,另外还需要注意catalina.*.log日志的大小,需要定期对该日志进行压缩,清除等事项。


☆ 参考文献:

◎ 文中所用到的资源链接:
【Nginx官网】
http://nginx.org/en/download.html
【Docker Hub Nginx】
https://hub.docker.com//nginx
【Docker Hub Tomcat】
https://hub.docker.com/
/tomcat

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

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

相关文章

Python中的字符串多样的操作方法

文章目录1.字符串中大小写字母的转变2.字符串的左右中对齐3.字符串查找的方法4.字符串的替换5. 字符串的判断6.字符串的截取7.字符串的拆分8.字符串的拼接9.格式化字符串10.格式化字符串的语法10.12.1 对齐选项([align])10.2 填充选项([fill]…

切入点(pointcut)的申明规则

Spring AOP 用户可能会经常使用 execution切入点指示符。执行表达式的格式如下:execution(modifiers-pattern? ret-type-pattern declaring-type-pattern? name-pattern(param-pattern) throws-pattern?)ret-type-p…

HandlerInterceptorAdapter拦截器多个拦截器时执行的顺序

前提:拦截器加载顺序是 1 2 3.Configuration public class InterceptorConfig implements WebMvcConfigurer {Autowiredprivate Test1neInterceptor test1neInterceptor;Autowiredprivate Test2neInterceptor test2neInterceptor;Overridepublic void addIntercepto…

【Android -- 开源库】权限适配 RxPermissions 的基本使用

运行时权限 从 Android 6.0(API 级别 23)开始,用户开始在应用运行时向其授予权限,而不是在应用安装时授予。 系统权限分为两类: 正常权限:只需在你应用的 Androidmanifest.xml 中列出,安装时…

大数据---Hadoop安装教程(一)

Hadoop安装教程前期工作 以下步骤基于网络配置完成,并且能连接xshell和xftp工具 Linux安装: Linux—CentOS 7 64位安装教程 Xshell连接: Linux—Xshell连接 文章目录Hadoop安装教程前期工作安装vim编辑器免密登录ssh登录过程免密登录的原理操作1.免密登录2.开启远程…

比较排序——三路快速排序

快速排序(Quicksort),计算机科学词汇,适用领域Pascal,c等语言,是对冒泡排序算法的一种改进。一、单路排序流程快速排序算法通过多次比较和交换来实现排序,其排序流程如下: (1)首先设…

e^(-x^2)的原函数(本求法为负面典型,仅供参考)

先放正确答案 ∫−∞∞e−x2π\int _{-\infin} ^{\infin} e^{-x^{2}}\sqrt{\pi}∫−∞∞​e−x2π​ 证法有许多 这是选自点我的一个证明方法。 首先要明确这是一个超越函数 求不了原函数 所以以下部分……纯属失败案例 注:原本在desmos上完成的推导,复制…

stable-diffusion-webui的基础功能手动安装,了解代码结构、依赖、模型出处

前言 虽然,当前有很多stable-diffusion-webui 的一键安装包,但是不易于彻底理解该项目 主要介绍了,手动安装 stable-diffusion-webui 基础功能的过程,手动安装,了解代码结构、依赖、模型出处 一、手动下载stable-dif…

2023 如何学好 Python web 开发?走心局送给大家

1.走心 我在没有接触互联网这个行业的时候, 就一直好奇网站是怎么构建的。 我现在虽然从事互联网相关的工作, 但是也一直没有接触过Web开发之类的东西, 不过兴趣终归还是要有的,还要自己动手去实践的。 Web开发的途径有好多种&am…

Linux 三剑客命令之 awk 详解

目录 一、Awk 实战讲解 1.1 awk 的原理 1.2 BEGIN 和 END 模块 1.3 运算符 1.4 常用 awk 内置变量 1.5 awk 正则 1.6 awk 常用字符串函数 一、Awk 实战讲解 awk 是一种很棒的语言,它适合文本处理和报表生成,其语法较为常见,借鉴了某些…

Fisco Bcos区块链五(后端区块链应用开发框架及流程)

文章目录项目框架:开发流程:1、创建一个Java工程2、引入FISCO BCOS Java SDK3、配置SDK证书4、业务逻辑开发第一步.将3编译好的Java合约引入项目中第二步.开发业务逻辑5. 运行应用项目框架: |-- build.gradle // gradle配置文件 |-- gradle …

element-ui组件的使用,导航菜单(NavMenu)组件、分页组件的使用

一、ElementUI 1、简介:是饿了么公司推出的基于Vue2的组件库 2、使用方法:具体可见官网https://element.eleme.cn/#/zh-CN/component/installation ​ (1)在vue项目中安装:npm install element-ui ​ (…

win10 在线、离线安装microsoft store 版 WSL

实验环境: 操作系统:windows版本 10.0.19045.2486 WSL版本:Microsoft.WSL_1.0.3.0_x64_ARM64.msixbundle 离线安装 获取WSL安装包: 在此页面获取发布网址: Microsoft Store 中适用于 Linux 的 Windows 子系统的发行…

深度卷积对抗神经网络 基础 第七部分 StyleGAN

深度卷积对抗神经网络 基础 第七部分 StyleGAN 深度卷积神经网络模型已经应用在非常多的领域,但是其总包含了很多潜在的问题,比如说训练速度过慢,生成器与判别器的进化程度不平衡等等。那么,随着各种方法和算法的普及和进化&…

就业秘籍!这些软件测试的面试话术你要知道

近些年,各行各业找工作都不太容易,虽然身处技术岗位的软件测试因企业需求大,要比之其他行业容易,但,稍有不慎,也会让求职者与自己心仪的offer失之交臂,因此,大家在准备前面前&#x…

关键点匹配——商汤LoFTR源码详解

源码地址见文末 1.项目与参数配置解读 首先,进入目录,使用pip install -r requirements.txt配置环境。 首先,对于demo的运行,首先需要准备好需要用于关键点匹配的数据,提供的代码中置于了image文件夹下,然后是训练的权重,代码中下载了室内场景和室外场景的训练权重。 …

抓包展示vlan报文(8021Q)

VLAN数据帧格式要使交换机能够分辨不同VLAN的报文,需要在报文中添加标识VLAN信息的字段。IEEE 802.1Q协议规定,在以太网数据帧的目的MAC地址和源MAC地址字段之后、协议类型字段之前加入4个字节的VLAN标签(又称VLAN Tag,简称Tag&am…

什么护眼台灯比较专业?2023央视推荐的护眼灯

台灯作为最常见的照明工具,也是因为有许多孩子都有近视的现象,从儿童青少年的近视人数可以看出,我国的近视人数是全国第一的,所以选择一款好的护眼台灯是很关键的,有哪些专业的护眼台灯呢?挑选台灯最主要是…

vue 使用 wangeditor 富文本编辑器

wangeditor 是一个轻量级 web 富文本编辑器,配置方便,使用简单。 1)安装 wangeditor 终端安装 wangeditor 库: yarn add wangeditor/editor # 或者 npm install wangeditor/editor --save2)页面绑定 创建一个 xxx.…

unity 关于UV坐标算点 和 PerlinNoise(柏林噪声)

生成相关效果代码如下: public int w 100;public int h 100;public Texture2D texture;public Image image;public Color tu Color.yellow;public Color cao Color.green;// Start is called before the first frame updatevoid Start(){texture new Texture2D…