docker部署应用----tomcat、nginx、mysql

安装应用的介绍:

我们现在一般的小型服务器都是安装一个mysql,作为我们的一个数据库使用,安装一个tomcat作为一个应用服务器,nginx作为一个图片服务器或者其他的。也就是说如果我们刚刚拿到一台只有操作系统的服务器时,我们首先做的是先下载这三个应用,然后为他们配置,测试,在使用。这样一个步骤其实我们都已经经历过很多次了,虽然我们也会觉得麻烦,也想着使用一个系统镜像来解决这个问题。但是我们总是遇到这样那样的问题,系统镜像的安装其实也是蛮难的。现在docker来帮你解决这个问题了。

二、安装tomcat:

1、安装步骤:

[plain] view plain copy
  1. #搜索tomcat镜像  
  2. [root@izwz9ib5he33fx3jnuis2xz ~]# docker search tomcat  
  3.   
  4. #拉取tomcat镜像  
  5. [root@izwz9ib5he33fx3jnuis2xz ~]# docker pull tomcat  
  6.   
  7. #根据镜像启动tomcat容器  
  8. [root@izwz9ib5he33fx3jnuis2xz ~]# docker run --name tomcat1 -d -p 8080:8080 tomcat  
  9.   
  10. #查看本地的容器,可以看到tomcat容器已经启动成功了  
  11. [root@izwz9ib5he33fx3jnuis2xz ~]# docker ps -a  
  12. CONTAINER ID    IMAGE      COMMAND              CREATED        STATUS         PORTS                    NAMES  
  13. b2e9025226f0    tomcat    "catalina.sh run"     2 days ago     Up 2 days    0.0.0.0:8080->8080/tcp    tomcat1  

2、测试:

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


3、开启多个tomcat容器:

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

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

[plain] view plain copy
  1. [root@izwz9ib5he33fx3jnuis2xz ~]# docker run --name tomcat2 -d -p 8082:8082 tomcat  
  2. [root@izwz9ib5he33fx3jnuis2xz ~]# docker run --name tomcat3 -d -p 8083:8083 tomcat  
  3. [root@izwz9ib5he33fx3jnuis2xz ~]# docker run --name tomcat4 -d -p 8084:8084 tomcat  


三、安装mysql数据库:

1、安装步骤:

[plain] view plain copy
  1. #搜索mysql镜像  
  2. [root@izwz9ib5he33fx3jnuis2xz ~]# docker search mysql  
  3.   
  4. #拉取mysql镜像  
  5. [root@izwz9ib5he33fx3jnuis2xz ~]# docker pull mysql  
  6.   
  7. #根据mysql镜像启动mysql容器,-e MYSQL_ROOT_PASSWORD是必填项,用于指定root用户的密码  
  8. [root@izwz9ib5he33fx3jnuis2xz ~]# docker run --name mysql01 -e MYSQL_ROOT_PASSWORD=123456 -d -p 3306:3306 mysql  
  9.   
  10. #查看本地的容器,可以看到mysql容器已经被创建成功了  
  11. [root@izwz9ib5he33fx3jnuis2xz ~]# docker ps -a  
  12. CONTAINER ID     IMAGE      COMMAND                CREATED        STATUS          PORTS                    NAMES  
  13. d25a5947f7db     mysql    "docker-entrypoint..."   2 days ago     Up 33 seconds   0.0.0.0:3306->3306/tcp   mysql01  
  14. b2e9025226f0     tomcat   "catalina.sh run"        2 days ago     Up 2 days       0.0.0.0:8080->8080/tcp   tomcat1  


四、安装nginx文件服务器:

1、安装步骤:

[plain] view plain copy
  1. #搜索nginx镜像  
  2. [root@izwz9ib5he33fx3jnuis2xz ~]# docker search nginx  
  3.   
  4. #拉取nginx镜像  
  5. [root@izwz9ib5he33fx3jnuis2xz ~]# docker pull nginx  
  6.   
  7. #根据nginx镜像创建nginx容器  
  8. [root@izwz9ib5he33fx3jnuis2xz ~]# docker run --name nginx -d -p 80:80 nginx  
  9.   
  10. #查看本地的容器,可以看到nginx容器已经创建成功了 


2、测试:如果访问指定端口,页面出现如下信息则表示成功:


3、搭建文件服务器:

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

(1)挂载主机目录:
[plain] view plain copy

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

(2)打开配置文件:
[plain] view plain copy

    #第一步:进入容器内部  
    [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根目录指向挂载目录:
[plain] view plain copy

    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 下面,userfile 文件夹代表的是userfile这个用户,如果想在系统增加一个用户的话 使用 adduser 用户名 这个指令来添加用户,然后设置密码,最后赋予权限

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

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






猜你喜欢

转载自blog.csdn.net/blingzeng/article/details/80459879