Docker部署离线版Nginx镜像容器,Tomcat镜像容器

一、准备工作

1.安装Docker并载入centos7基础镜像

实验需要用到的软件包从下面链接下载:
https://pan.baidu.com/s/1T_nWUMJAUXaGgawey9V30Q
提取码:0bs3

[root@localhost ~]# rz   		 #上传centos7和docker-18.03.1-ce.tgz
z waiting to receive.**B0100000023be50
[root@localhost ~]# ls
anaconda-ks.cfg  docker-18.03.1-ce.tgz  公共  视频  文档  音乐
centos7          initial-setup-ks.cfg   模板  图片  下载  桌面
[root@localhost ~]# tar xf docker-18.03.1-ce.tgz   #解压
[root@localhost ~]# cp docker/* /usr/bin/          #优化执行路径
[root@localhost ~]# dockerd &                      #启动Docker
[root@localhost ~]# docker load < centos7          #载入centos7镜像
f972d139738d: Loading layer  208.8MB/208.8MB
Loaded image: centos:latest
[root@localhost ~]# docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
centos              latest              75835a67d134        2 years ago         200MB

在这里插入图片描述

2.宿主机发布软件源

因为镜像创建的时候需要使用yum安装软件包,所以 宿主机使用http方式,发布软件源,软件源为centos7光盘

1)宿主机安装并开启 http 服务

挂载光盘,配置本地yum源

[root@localhost ~]# yum -y install httpd && systemctl start httpd

2)创建共享目录

[root@localhost ~]# cd /var/www/html/
[root@localhost html]# mkdir centos7
[root@localhost html]# mount /dev/cdrom centos7/
mount: /dev/sr0 写保护,将以只读方式挂载

在这里插入图片描述

3)使用浏览器访问测试

在这里插入图片描述

二、部署 Nginx 容器

Nginx 是一款轻量级的 Web 服务器,也是一款优秀的反向代理服务器。Nginx 服务占用内存少,并发能力强。下面使用 Dockerfile 文件的方式创建带有 Nginx 服务的 Docker 镜像。

1.建立工作目录

[root@localhost ~]# mkdir nginx
[root@localhost ~]# cd nginx/
[root@localhost nginx]# rz    #上传nginx-1.12.0.tar.gz软件包
z waiting to receive.**B0100000023be50
[root@localhost nginx]# ls
nginx-1.12.0.tar.gz

2.创建并编写 Dockerfile 文件

[root@localhost nginx]# vim Dockerfile
#基础镜像
FROM centos
#维护该镜像的用户信息
MAINTAINER zhangsan
#设置本地yum源
RUN rm -rf /etc/yum.repos.d/*
ADD CentOS7.repo /etc/yum.repos.d/
#安装相关依赖包
RUN yum -y install proc-devel net-tools gcc zlib zlib-devel make openssl-devel
#传入Nginx软件包并解压
COPY nginx-1.12.0.tar.gz /
RUN tar zxf /nginx-1.12.0.tar.gz
#切换目录
WORKDIR /nginx-1.12.0
#编译安装
RUN ./configure --prefix=/usr/local/nginx && make && make install
#开启端口
EXPOSE 80
EXPOSE 443
#修改Nginx文件,以非daemon方式启动
RUN echo "daemon off;" >> /usr/local/nginx/conf/nginx.conf
#复制启动脚本
ADD run.sh /
RUN chmod 755 /run.sh
#运行启动脚本
CMD ["/run.sh"]

在这里插入图片描述

3.编写执行脚本内容

[root@localhost nginx]# vim run.sh
#!/bin/bash
/usr/local/nginx/sbin/nginx

4.编写 yum 源文件

[root@localhost nginx]# cp /etc/yum.repos.d/CentOS7.repo .
[root@localhost nginx]# vim CentOS7.repo
[zhangsan]
name=lisi
baseurl=http://192.168.1.10/centos7
enabled=1
gpgcheck=0

在这里插入图片描述

5.生成镜像

[root@localhost nginx]# docker build -t nginx:v1 .
[root@localhost nginx]# docker images | grep nginx 
nginx               v1                  3ab35fe44bf6        2 minutes ago       349MB

6.启动容器进行测试

[root@localhost nginx]# docker run -d --name nginx -P nginx:v1
[root@localhost nginx]# docker ps | grep nginx

在这里插入图片描述

7.访问测试

在这里插入图片描述

三、部署 Tomcat 容器

Tomcat 是一个免费开源的轻量级 Web 服务器,在中小型企业和并发访问量不高的场合普遍使用,是开发和调式 JSP 程序的首选。下面使用 Dockerfile 文件的方式来创建带有 Tomcat 服务的 Docker 镜像。

1.创建工作目录,并拖入相关软件

[root@localhost ~]# mkdir tomcat
[root@localhost ~]# cd tomcat/
[root@localhost tomcat]# rz    #上传apache-tomcat-8.5.16.tar.gz  jdk-8u91-linux-x64.tar.gz软件包
z waiting to receive.**B0100000023be50
[root@localhost tomcat]# ls
apache-tomcat-8.5.16.tar.gz  jdk-8u91-linux-x64.tar.gz
[root@localhost tomcat]# tar zxf jdk-8u91-linux-x64.tar.gz 
[root@localhost tomcat]# ls
apache-tomcat-8.5.16.tar.gz  jdk1.8.0_91  jdk-8u91-linux-x64.tar.gz

2.编写 Dockerfile 文件

[root@localhost tomcat]# vim Dockerfile
FROM centos
MAINTAINER zhangsan
#给JDK设置变量
ADD jdk1.8.0_91 /usr/local/java
ENV JAVA_HOME /usr/local/java
ENV JAVA_BIN /usr/local/java/bin
ENV JRE_HOME /usr/local/java/jre
ENV PATH $PATH:/usr/local/java/bin/:/usr/local/java/jre/bin
ENV CLASSPATH /usr/local/java/jre/bin:/usr/local/java/lib:/usr/local/java/jre/lib/charsets.jar
#传入Tomcat软件包
COPY apache-tomcat-8.5.16.tar.gz /
RUN tar zxf /apache-tomcat-8.5.16.tar.gz
#将解压后文件移动位置,重命名为tomcat
RUN mv /apache-tomcat-8.5.16 /usr/local/tomcat
#开启80端口
EXPOSE 80
#复制启动脚本
ADD run.sh /
RUN chmod 755 /run.sh
#运行启动脚本
CMD ["/run.sh"]

在这里插入图片描述

3.编写执行脚本内容

[root@localhost tomcat]# vim run.sh
#!/bin/bash
/usr/local/tomcat/bin/startup.sh
tailf /run
[root@localhost tomcat]# ls
apache-tomcat-8.5.16.tar.gz  jdk1.8.0_91                run.sh
Dockerfile                   jdk-8u91-linux-x64.tar.gz

5.生成镜像文件

[root@localhost tomcat]# docker build -t tomcat:v8 .
Sending build context to Docker daemon  557.4MB
[root@localhost tomcat]# docker images | grep tomcat
tomcat              v8                  67ec7f712b12        23 seconds ago      601MB

6.运行容器并验证

[root@localhost tomcat]# docker run -d --name tomcat -p 1314:8080 tomcat:v8
[root@localhost tomcat]# docker ps | grep tomcat

在这里插入图片描述使用浏览器访问验证
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_46902396/article/details/109244035