Docker部署常见应用(MySQL、Tomcat、Nginx、Redis、Centos) 您所在的位置:网站首页 dockerfile构建redis Docker部署常见应用(MySQL、Tomcat、Nginx、Redis、Centos)

Docker部署常见应用(MySQL、Tomcat、Nginx、Redis、Centos)

#Docker部署常见应用(MySQL、Tomcat、Nginx、Redis、Centos)| 来源: 网络整理| 查看: 265

================================================================

前提须知:

(1)搜索镜像命令

格式:docker search 镜像名

(2)设置Docker镜像加速器

详见文章:Docker设置ustc的镜像源(镜像加速器)

================================================================

1、部署MySQL

(1)拉取镜像(这里拉取mysql5.7版本)

[root@localhost ~]# docker pull mysql:5.7

(2)创建容器(默认运行)

[root@localhost ~]# docker run -di --name=my_mysql -p 33060:3306 -e MYSQL_ROOT_PASSWORD=1234 mysql:5.7

-p:代表端口映射,格式为:宿主机映射端口:容器运行端口,映射容器服务的 3306 端口到宿主机的 33060 端口,外部主机可以直接通过 宿主机ip:33060 访问到 MySQL 的服务。-e:代表添加环境变量,MYSQL_ROOT_PASSWORD=1234 为MySQL 服务 root 用户的密码。

Docker部署常见应用(MySQL、Tomcat、Nginx、Redis、Centos)_mysql

(3)暂时关闭防火墙(可跳过)

[root@localhost ~]# systemctl stop firewalld

重启防火墙命令:service iptables restart

(4)远程登录mysql(连接宿主机的IP,指定端口为33060)

①mysql客户端连接

mysql -h192.168.116.161 -P33060 -uroot -p

Docker部署常见应用(MySQL、Tomcat、Nginx、Redis、Centos)_docker_02

②Novicat客工具连接

Docker部署常见应用(MySQL、Tomcat、Nginx、Redis、Centos)_mysql_03

2、部署Tomcat

特别提醒:

小虎测试: 从官网pull下来的tomcat8.0,部署maven项目war包时,提示“Unsupported major.minor version 52.0”,即不支持jdk8,重新pull下来的tomcat9.0正常运行该项目(故暂时建议安装tomcat9.0)。

(1)拉取镜像(这里拉取tomcat8.0版本)

[root@localhost ~]# docker pull tomcat:8.0

(2)查看所有镜像

[root@localhost ~]# docker images

Docker部署常见应用(MySQL、Tomcat、Nginx、Redis、Centos)_docker_04

(3)创建tomcat容器

[root@localhost ~]# docker run -di --name=my_tomcat -p 8081:8080 -v /usr/local/webapps:/usr/local/tomcat/webapps tomcat:8.0

注: 如果创建失败,请重启docker服务再试:systemctl restart docker

-p:8081:8080:将主机的 8081 端口映射到容器的 8080 端口。-v:挂载目录。这里将宿主机目录/usr/local/webapps 挂载(映射)到 容器目录/usr/local/tomcat/webapps(如果没有,目录会自动创建) 。

查看容器启动情况,如果没有启动则启动tomcat:

[root@localhost ~]# docker ps -a [root@localhost ~]# docker start my_tomcat my_tomcat [root@localhost ~]#

(4)上传项目war包

此时在webapps没有任何文件,我们需要上传我们的war包到宿主系统目录:/usr/local/webapps

这里我们上传开源项目war包:cas.war

百度网盘项目地址 链接:https://pan.baidu.com/s/1co2Xpw-yNVwq6i87VR_tcQ 提取码:r465

【注】:这里需要等待一会,等待war包自动解压(或访问时会自动解压)。

(5)暂时关闭防火墙(可跳过)

[root@localhost ~]# systemctl stop firewalld

重启防火墙命令:service iptables restart

(6)访问项目

访问地址:http://192.168.116.161:8081/cas/login

Docker部署常见应用(MySQL、Tomcat、Nginx、Redis、Centos)_centos_05

3、部署Nginx

(1)拉取镜像

[root@localhost webapps]# docker pull nginx:1.16

(2)查看所有镜像

[root@localhost ~]# docker images

Docker部署常见应用(MySQL、Tomcat、Nginx、Redis、Centos)_tomcat_06

(3)创建Nginx容器

[root@localhost webapps]# docker run -di --name=my_nginx -p 81:80 nginx:1.16 4925395ef0eb0e3b52f9c8dc212f1793c8437caff93efb1d401b83c088b61238 [root@localhost webapps]# [root@localhost webapps]# [root@localhost webapps]# [root@localhost webapps]# docker ps -a

-p :81:80,映射容器服务的 80端口到宿主机的 81 端口。外部可以直接通过宿主机ip:81访问到 nginx的服务。

(4)暂时关闭防火墙(可跳过)

[root@localhost ~]# systemctl stop firewalld

重启防火墙命令:service iptables restart

(5)访问nginx

访问地址:http://192.168.116.161:81

Docker部署常见应用(MySQL、Tomcat、Nginx、Redis、Centos)_mysql_07

(6)配置文件地址 及 相关说明

登录my_redis 容器:

[root@localhost webapps]# docker exec -it my_nginx /bin/bash root@4925395ef0eb:/# dir bin boot dev etc home lib lib64 media mnt opt proc root run sbin srv sys tmp usr var root@4925395ef0eb:/#

我们查看my_nginx容器内默认配置文件:/etc/nginx/nginx.conf ,发现其中include命令:include /etc/nginx/conf.d/*.conf;,进入该目录,发现有一个默认的配置文件/etc/nginx/conf.d/default.conf,default.conf 内的静态文件目录配置如下:

location / { root /usr/share/nginx/html; index index.html index.htm; }

进入静态文件目录,找到了默认静态文件:

root@4925395ef0eb:/etc/nginx/conf.d# cd /usr/share/nginx/html root@4925395ef0eb:/usr/share/nginx/html# dir 50x.html index.html root@4925395ef0eb:/usr/share/nginx/html#4、部署Redis

(1)拉取镜像

[root@localhost webapps]# docker pull redis:5

(2)查看所有镜像

[root@localhost ~]# docker images

Docker部署常见应用(MySQL、Tomcat、Nginx、Redis、Centos)_nginx_08

(3)创建redis容器(默认启动)

[root@localhost webapps]# docker run -itd --name=my_redis -p 63790:6379 redis:5

-p:63790:6379:映射容器服务的 6379 端口到宿主机的 63790 端口。外部可以直接通过宿主机ip:63790 访问到 Redis 的服务。

(4)暂时关闭防火墙(可跳过)

[root@localhost ~]# systemctl stop firewalld

重启防火墙命令:service iptables restart

(5)连接redis

①redis-cli 连接使用测试

[root@localhost webapps]# docker exec -it my_redis /bin/bash root@ad95adf3a459:/data# redis-cli 127.0.0.1:6379> set name zhangsan OK 127.0.0.1:6379> get name "zhangsan" 127.0.0.1:6379> quit root@ad95adf3a459:/data# exit exit [root@localhost webapps]#

②RedisDesktopManager工具连接测试

Docker部署常见应用(MySQL、Tomcat、Nginx、Redis、Centos)_centos_09

4、部署Centos

(1)拉取镜像

[root@localhost ~]# docker pull centos:7**(2)查看所有镜像** ```bash [root@localhost ~]# docker images

Docker部署常见应用(MySQL、Tomcat、Nginx、Redis、Centos)_mysql_10

(3)创建centos容器(默认启动)

[root@localhost webapps]# docker run -itd --name=my_centos centos:7 [root@localhost webapps]# docker ps

Docker部署常见应用(MySQL、Tomcat、Nginx、Redis、Centos)_docker_11

(4)登录my_centos容器:

[root@localhost webapps]# docker exec -it my_centos /bin/bash [root@ebc363fd0265 /]#



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有