【云原生 • Docker】mysql、tomcat、nginx、redis 环境部署

【云原生 • Docker】mysql、tomcat、nginx、redis 环境部署Docker下MySQL、tomcat、nginx、redis应用的搭建方式,附详细步骤与软件下载地址。

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全家桶1年46,售后保障稳定

【云原生 • Docker】mysql、tomcat、nginx、redis 环境部署

注意在应用部署之前,docker 服务必须是开启状态 systemctl start docker

目录

一、MySQL 部署

二、Tomcat 部署

三、Nginx 部署

四、Redis 部署


一、MySQL 部署

1. 拉取 MySQL 镜像,此处选择的是 MySQL 5.7 版本;

docker pull centos/mysql-57-centos7

Jetbrains全家桶1年46,售后保障稳定

【云原生 • Docker】mysql、tomcat、nginx、redis 环境部署

2. 创建容器,容器名称为 mysql;

docker run -di --name=tensquare_mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql
  • -p 表示端口映射关系,格式为 宿主机映射端口 : 容器运行端口;
  • -e 表示添加环境变量,此处设置 root 用户登录密码为 123456。

如下即为创建成功:

【云原生 • Docker】mysql、tomcat、nginx、redis 环境部署

3. 远程登录 MySQL

容器创建完成之后,就可以在本地进行 MySQL 连接了;如下图在本地的 Navicat 中新建一个连接:

【云原生 • Docker】mysql、tomcat、nginx、redis 环境部署

要知道我们并不是直接去连接容器中的 MySQL,而是通过宿主机进行连接。此时所连接的正是我们刚刚所创建的容器中的 MySQL;

【云原生 • Docker】mysql、tomcat、nginx、redis 环境部署

Docker 下 MySQL 部署完成!

二、Tomcat 部署

1. 拉取 tomcat 镜像;

docker pull tomcat:7-jre7

【云原生 • Docker】mysql、tomcat、nginx、redis 环境部署

2. 创建容器;

docker run -di --name=mytomcat -p 9000:8080 -v /usr/local/webapps:/usr/local/tomcat/webapps tomcat:7-jre7
  • -v  目录映射关系,前者为宿主机目录,后者是映射到宿主机上的目录,如果没有该目录会自动创建
  • -p  端口映射关系,前者为宿主机端口,后者是容器内的映射端口

【云原生 • Docker】mysql、tomcat、nginx、redis 环境部署

3. 部署应用

容器创建成功之后,我们这时直接在本地访问是没有效果的,报错 404;

【云原生 • Docker】mysql、tomcat、nginx、redis 环境部署

这是因为我们使用到了目录挂载,本地的目录 /usr/local/webapps 是新创建的,没有任何应用,所以访问时无显示。这时候我们可以为它部署一个应用,也就是往此目录中放入一个应用,我在这里用了一个简单的测试 war 包 cluster_test.war(文末附下载地址)

【云原生 • Docker】mysql、tomcat、nginx、redis 环境部署

上传后如下,目录中出现 war 包和自动解压后的文件;

【云原生 • Docker】mysql、tomcat、nginx、redis 环境部署

成功部署后就可以在本地进行访问了,如下访问成功,不再报错;

【云原生 • Docker】mysql、tomcat、nginx、redis 环境部署

Docker 下 tomcat 部署完成!

需要注意在 tomcat 部署过程当中,如部署后无法正常访问,报错 404,这说明 tomcat 服务是没问题的。那么无法正常访问可能有三个原因:

  1. 防火墙未开放该端口;
  2. 访问路径写的有问题;
  3. war 包本身有问题;

三、Nginx 部署

1. 拉取 nginx 镜像

docker pull nginx

【云原生 • Docker】mysql、tomcat、nginx、redis 环境部署

2. 创建容器

docker run -di --name=mynginx -p 80:80 nginx

【云原生 • Docker】mysql、tomcat、nginx、redis 环境部署

创建成功我们在本地浏览器访问宿主机 IP,可以看到 nginx 欢迎界面;

【云原生 • Docker】mysql、tomcat、nginx、redis 环境部署

3. 部署应用

我们这里将一个静态页面部署到 nginx 中,如下我在本地创建了一个 html 文件夹 和 index.html 文件;

【云原生 • Docker】mysql、tomcat、nginx、redis 环境部署

将它上传至我们的宿主机;

【云原生 • Docker】mysql、tomcat、nginx、redis 环境部署

进入 nginx 容器;

docker exec -it mynginx /bin/bash

找到配置文件 default.conf,可以看到 nginx 的页面文件是保存于 /usr/share/nginx/html/ 中的;

【云原生 • Docker】mysql、tomcat、nginx、redis 环境部署

【云原生 • Docker】mysql、tomcat、nginx、redis 环境部署

所以我们将需要部署的页面文件移动到此目录;

docker cp html mynginx:/usr/share/nginx/

此时再次在本地访问宿主机 IP,页面显示已由 nginx 欢迎页面变成了我们部署的页面;

【云原生 • Docker】mysql、tomcat、nginx、redis 环境部署

Docker 下 nginx 部署完成!

四、Redis 部署

1. 拉取镜像

docker pull redis

【云原生 • Docker】mysql、tomcat、nginx、redis 环境部署

2. 创建容器

docker run -di --name=myredis -p 6379:6379 redis

【云原生 • Docker】mysql、tomcat、nginx、redis 环境部署

3. 测试

使用本地的 redis(文末附下载地址) 进行测试,如下图;

【云原生 • Docker】mysql、tomcat、nginx、redis 环境部署

在 redis 目录下打开终端,redis-cli -h 宿主机IP 连接宿主机;

【云原生 • Docker】mysql、tomcat、nginx、redis 环境部署

连接成功,占用 6379 端口且可正常运行;

【云原生 • Docker】mysql、tomcat、nginx、redis 环境部署

Docker 下 redis 部署完成!


本文所需软件与素材包下载地址:

链接:Tomcat 测试 war 包 cluster_test.war
提取码:0214 

链接:redis 官方下载地址

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

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

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


相关推荐

  • 用docker部署jar包_docker run 参数

    用docker部署jar包_docker run 参数小小总结一、思路1、将docker容器中的指定文件夹挂载到宿主机上,更新jar包只需上传到宿主机指定路径,方便更新2、利用bash文件运行jar包,并构建该bash的镜像,代替构建直接运行jar包的镜像,利于镜像与jar包解耦。例如,app-1.0.0.jar升级到app-2.0.0.jar,只须更改bash文件的内容,而无须构建新的镜像。二、准备工作1、创建存放docker配置文件、jar包的文件夹在宿主机上,创建文件夹:/home/admin/app,用于存放bash文件和jar包。然

    2022年9月27日
    2
  • 使用Docker(k8s)安装Kafka并使用宿主机连接

    使用Docker(k8s)安装Kafka并使用宿主机连接使用Docker(k8s)安装Kafka并使用宿主机连接安装Docker及docker-compose具体安装方法可以去官网看教程检查docker-compose是否安装成功创建docker-compose.yml文件version:’2’services:zookeeper:image:”zookeeper”hostname:”zookeeper.local”container_name:”zookeeper”#设置网络别名可随

    2022年8月21日
    6
  • docker入门(利用docker部署web应用)[通俗易懂]

    docker入门(利用docker部署web应用)[通俗易懂]前言:本课程是在慕课网上学习第一个docker化的java应用课程时所做的笔记,供本人复习之用目录第一章什么是docker1.1docker的发展史1.2docker国内应用史1.3什么是Docker第二章了解docker2.1docker思想2.1.1集装箱2.1.2标准化2.1.3隔离2.2docker解决的问题2.2.1…

    2022年5月28日
    38
  • docker下修改mysql配置文件[通俗易懂]

    docker下修改mysql配置文件[通俗易懂]由于需要修改mysql的sql_mode,在命令行修改每次重启都会失效,因为修改docker下mysql的配置文件。操作系统:centos7docker版本:Dockerversion17.05.0-ce,build89658bemysql版本:5.7.181.拉取镜像dockerpullmysql:5.7.182.列出镜像[root@zk01~]#dockerimages

    2022年5月5日
    78
  • Docker安装Jenkins教程

    Docker安装Jenkins教程Docker安装Jenkins教程前言一、安装Jenkins1.下载Jenkins2.创建Jenkins挂载目录并授予权限3.启动Jenkins容器4.验证Jenkins容器是否启动二、浏览器访问Jenkins页面1.输入http://192.168.XX.XX:102402.获取管理员密码前言Jenkins是一个开源软件项目,是基于Java开发的一种持续集成工具,用于监控持续重复的工作,旨在提供一个开放易用的软件平台,使软件的持续集成变成可能。提示:如果没有安装Docker,传送门在这里:链接:

    2022年5月15日
    31
  • mysql docker 端口号_如何修改 docker 容器中 mysql 的端口号

    修改docker中MySQL配置文件,在mysqld项目下新增port=3307配置[mysqld]port=3307federatedmax_connections=200max_allowed_packet=64Mpid-file=/var/run/mysqld/mysqld.pidsocket=/var/run/mysqld/mysqld.sockdatadir=…

    2022年4月12日
    655

发表回复

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

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