Docker(四):使用Docker部署tomcat、mysql、nginx静态服务器

Docker(四):使用Docker部署tomcat、mysql、nginx静态服务器

使用Dokcer可以很好的对镜像进行管理,创建和使用容器。这篇博客将简单介绍一下如何使用Docker来安装Tomcat、Mysql和Nginx文件服务器。相关阅读:

Docker(一):Docker的安装与常用命令

Docker(二):Docker常用命令之镜像的创建:Dockerfile 与 commit

Docker(三):Docker镜像导入与导出、恢复与加载与在Docker容器中安装软件

Docker(四):使用Docker部署tomcat、mysql、nginx文件服务器


 

一、安装JDK环境:

安装JDK的方法有多种:

1、手动解压JDK的压缩包,然后设置环境变量

2、用yum安装JDK

3、用rpm安装文件

1、手动解压JDK压缩包,设置环境变量(这里只介绍第一种):

(1)在/opt/目录下创建software目录:

[root@izwz9ib5he33fx3jnuis2xz ~]# mkdir /opt/software

(2)下载jdk,然后解压,移动并重命名为jdk:

[root@izwz9ib5he33fx3jnuis2xz software]# tar -zxvf jdk-8u171-linux-x64.tar.gz
[root@izwz9ib5he33fx3jnuis2xz software]# sudo mv jdk1.8.0_171/ /opt/software/jdk

(3)配置环境变量:

[root@izwz9ib5he33fx3jnuis2xz ~]# vim ~/.bashrc

在文件的最后添加下面内容:

export JAVA_HOME=/opt/software/jdk
export JRE_HOME=$JAVA_HOME/jre
export PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib

(4)让配置生效:

[root@izwz9ib5he33fx3jnuis2xz ~]# source ~/.bashrc

(5)验证是否配置成功:

[root@izwz9ib5he33fx3jnuis2xz ~]# java -version
java version “1.8.0_171”
Java(TM) SE Runtime Environment (build 1.8.0_171-b11)
Java HotSpot(TM) 64-Bit Server VM (build 25.171-b11, mixed mode

 

 

二、安装tomcat:

1、安装步骤:

#1、搜索tomcat镜像
[root@izwz9ib5he33fx3jnuis2xz ~]# docker search tomcat

#2、拉取tomcat镜像
[root@izwz9ib5he33fx3jnuis2xz ~]# docker pull tomcat

#3、根据镜像启动tomcat容器
[root@izwz9ib5he33fx3jnuis2xz ~]# docker run –name tomcat1 -d -p 8080:8080 tomcat

#4、查看本地的容器,可以看到tomcat容器已经启动成功了
[root@izwz9ib5he33fx3jnuis2xz ~]# docker ps -a
CONTAINER ID    IMAGE      COMMAND              CREATED        STATUS         PORTS                    NAMES
b2e9025226f0    tomcat    “catalina.sh run”     2 days ago     Up 2 days    0.0.0.0:8080->8080/tcp    tomcat1

2、测试:

在浏览器中输入ip:映射端口,如 localhost:8080,出现下面页面则代表成功

 

Docker(四):使用Docker部署tomcat、mysql、nginx静态服务器

3、开启多个tomcat容器:

        以前没有使用Docker的时候,如果想要开启多个tomcat服务器,需要先复制tomcat相关文件目录,再进入tomcat的配置文件中修改有关端口的配置,非常麻烦,费时费力。现在,使用Docker,只需要在启动容器的时候指定端口映射,就可以开启多个tomcat服务器了,只需一条命令就可以代替以前的很多麻烦的操作。这也是Docker的强大之处之一。

例如:输入下面的3条命令,就可以开启3个tomcat服务器,并通过8082、8083、8084端口访问到服务器了。

[root@izwz9ib5he33fx3jnuis2xz ~]# docker run –name tomcat2 -d -p 8082:8082 tomcat
[root@izwz9ib5he33fx3jnuis2xz ~]# docker run –name tomcat3 -d -p 8083:8083 tomcat
[root@izwz9ib5he33fx3jnuis2xz ~]# docker run –name tomcat4 -d -p 8084:8084 tomcat

 

 

三、安装mysql数据库:

#1、搜索mysql镜像
[root@izwz9ib5he33fx3jnuis2xz ~]# docker search mysql

#2、拉取mysql镜像
[root@izwz9ib5he33fx3jnuis2xz ~]# docker pull mysql

#3、根据mysql镜像启动mysql容器,-e MYSQL_ROOT_PASSWORD是必填项,用于指定root用户的密码
[root@izwz9ib5he33fx3jnuis2xz ~]# docker run –name mysql01 -e MYSQL_ROOT_PASSWORD=123456 -d -p 3306:3306 mysql

#4、查看本地的容器,可以看到mysql容器已经被创建成功了
[root@izwz9ib5he33fx3jnuis2xz ~]# docker ps -a
CONTAINER ID     IMAGE      COMMAND                CREATED        STATUS          PORTS                    NAMES
d25a5947f7db     mysql    “docker-entrypoint…”   2 days ago     Up 33 seconds   0.0.0.0:3306->3306/tcp   mysql01
b2e9025226f0     tomcat   “catalina.sh run”        2 days ago     Up 2 days       0.0.0.0:8080->8080/tcp   tomcat1

 

 

四、安装nginx静态文件服务器:

1、安装步骤:

#1、搜索nginx镜像
[root@izwz9ib5he33fx3jnuis2xz ~]# docker search nginx

#2、拉取nginx镜像
[root@izwz9ib5he33fx3jnuis2xz ~]# docker pull nginx

#3、根据nginx镜像创建nginx容器
[root@izwz9ib5he33fx3jnuis2xz ~]# docker run –name nginx -d -p 80:80 nginx

#4、查看本地的容器,可以看到nginx容器已经创建成功了
[root@izwz9ib5he33fx3jnuis2xz ~]# docker ps -a
CONTAINER ID    IMAGE      COMMAND                  CREATED        STATUS            PORTS                   NAMES
bcd974e90360    nginx     “nginx -g ‘daemon …”   2 days ago     Up 44 hours       0.0.0.0:80->80/tcp       nginx
d25a5947f7db    mysql     “docker-entrypoint…”   2 days ago     Up 18 minutes     0.0.0.0:3306->3306/tcp   mysql01
b2e9025226f0    tomcat    “catalina.sh run”        2 days ago     Up 2 days         0.0.0.0:8080->8080/tcp   tomcat1

2、测试:如果访问指定端口,我这里配置的是80端口,页面出现如下信息则表示成功:

 

Docker(四):使用Docker部署tomcat、mysql、nginx静态服务器

3、搭建文件服务器:

如果想要使用nginx搭建静态文件服务器,并使用宿主机的目录存放文件,则需要在创建容器的时候使用-v指定主机挂载目录与容器被挂载的目录。

(1)挂载主机目录:

# 使用-v挂载目录,冒号前面部分是主机要挂载文件路径,冒号后面部分是挂载到容器的路径  
# -v /home:/home表示将宿主机的home目录下的所有文件挂载到容器的home目录下   
[root@izwz9ib5he33fx3jnuis2xz ~]# docker run –name nginx -d -p 80:80 -v /home:/home nginx

(2)打开配置文件:

#第一步:进入容器内部
[root@izwz9ib5he33fx3jnuis2xz ~]# docker exec -ti nginx /bin/bash

#第二步:修改nginx的配置文件
root@bcd974e90360:/# cd etc/nginx/conf.d/
root@bcd974e90360:/etc/nginx/conf.d# vim default.conf

(3)修改配置文件,使root根目录指向挂载目录:

server {

    listen       80;
    server_name  localhost;

    #charset koi8-r;
    #access_log  /var/log/nginx/host.access.log  main;

    location / {

        #root   /usr/share/nginx/html;
     root   /home/userfile;  #修改root根目录,使指向路径为/home/userfile
        index  index.html index.htm;
    }

备注: nginx容器中配置了文件存放地址是/home/userfile ,我们把本地目录 /home 挂载到了容器的/home目录中,所以我们要把存放文件的文件夹 userfile 放在本地目录 /home 下面,

(4)测试:文件目录的一张图片路径是这样的: /home/userfile/hello.jpg

启动nginx容器后,在浏览器访问图片地址,如果可以访问到,则表示配置成功。

Docker(四):使用Docker部署tomcat、mysql、nginx静态服务器

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/114735.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Pycharm代码docker容器运行调试 | 机器学习系列

    Pycharm代码docker容器运行调试 | 机器学习系列介绍常规的本地化运行机器学习代码,安装Anaconda+cuda显卡驱动支持,许多文章都有介绍,不在此多做赘述了。本文主要是为了解决在工作环境中,本机电脑没有显卡,需要将程序运行在带显卡的远程服务器上。本文会介绍如何部署使用显卡的docker容器、如何使用pycharm连接docker容器运行机器学习代码。版本Pycharm:2020.1.3docker:19.03.12python:3.6.13demo算法:BackgroundMattingV2部署下面我会按照.

    2022年8月28日
    5
  • docker(7)docker-compose容器集群编排「建议收藏」

    docker(7)docker-compose容器集群编排「建议收藏」前言实际工作中我们部署一个应用,一般不仅仅只有一个容器,可能会涉及到多个,比如用到数据库,中间件MQ,web前端和后端服务,等多个容器。我们如果一个个去启动应用,当项目非常多时,就很难记住了,所有

    2022年7月31日
    10
  • docker一键启动、关闭、删除命令

    docker一键启动、关闭、删除命令

    2021年6月2日
    139
  • docker启动mysql并打开远程连接「建议收藏」

    docker启动mysql并打开远程连接「建议收藏」1.获取mysql:拉去mysql镜像dockerpullmysql:8.02.启动mysql#–name指定容器名字-v目录挂载-p指定端口映射-e设置mysql参数-d后台运行dockerrun–namemysql-v/usr/local/mysql/data:/var/lib/mysql-v/usr/local/mysql:/etc/mysql/conf.d-v/usr/local/mysql/log:/var/log/mysql-eMYSQL

    2022年9月1日
    3
  • docker镜像操作_docker 运行镜像

    docker镜像操作_docker 运行镜像前言Docker的三大核心概念:镜像、容器、仓库。初学者对镜像和容器往往分不清楚,学过面向对象的应该知道类和实例,这跟面向对象里面的概念很相似我们可以把镜像看作类,把容器看作类实例化后的对象。|

    2022年7月28日
    4
  • ubuntu上docker卸载重装[通俗易懂]

    ubuntu上docker卸载重装[通俗易懂]清理docker并重装1、删除容器1)首先需要停止所有的容器dockerstop$(dockerps-a-q)2)删除所有的容器(只删除单个时把后面的变量改为imageid即可)dockerrm$(dockerps-a-q)2、删除镜像1)查看host中的镜像dockerimages2)删除指定id的镜像dockerrmiimageid想要删除untaggedimages,也就是那些id为的image的话可以用dockerrmi$(dockeri

    2025年9月4日
    6

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号