Docker(四):使⽤Docker部署tomcat、mysql、nginx静态
服务器
使⽤Dokcer可以很好的对镜像进⾏管理,创建和使⽤容器。这篇博客将简单介绍⼀下如何使⽤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
[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)
mysql下载后如何使用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,出现下⾯页⾯则代表成功
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 "" 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 "" 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端⼝,页⾯出现如下信息则表⽰成功:
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# f
(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容器后,在浏览器访问图⽚地址,如果可以访问到,则表⽰配置成功。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论