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

本文介绍了如何在Ubuntu20.04上使用Docker安装和运行Nginx、Tomcat,包括容器的挂载配置、命令操作以及生产环境中的注意事项。Nginx的配置文件从运行中的容器复制到宿主机,然后启动新容器。Tomcat则挂载了日志和webapps目录,需手动添加war包才能正常运行。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

系列目录
LaoCat带你认识容器与镜像(一)
LaoCat带你认识容器与镜像(二【一章】)
LaoCat带你认识容器与镜像(二【二章】)
LaoCat带你认识容器与镜像(二【三章】)
LaoCat带你认识容器与镜像(三【上】)
LaoCat带你认识容器与镜像(三【下】)
LaoCat带你认识容器与镜像(四【上】)
LaoCat带你认识容器与镜像(四【下】)
LaoCat带你认识容器与镜像(番外一【Harbor】)
LaoCat带你认识容器与镜像(实践篇一上)
LaoCat带你认识容器与镜像(实践篇一下)
LaoCat带你认识容器与镜像(实践篇二上)
LaoCat带你认识容器与镜像(实践篇二下)

本章内容

本文实操全部基于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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值