【云原生 • 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安装bwapp「建议收藏」

    docker安装bwapp「建议收藏」查看Bwapp镜像dockersearchbwapp下载raesene/bwapp镜像:dockerpullraesene/bwapp查看镜像dockerimages运行镜像dockerrun-d-p8080:80929b447efd4d查看运行情况dockerps运行成功后访问IP端口使用浏览器访问http://xxxx:8080/install.phpxxxx为虚拟机对应的ip地址8080为上方run的端口号…

    2022年9月16日
    0
  • Docker(一):Docker的安装与常用命令

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

    2021年9月26日
    49
  • centos 7 开启docker的2375端口

    centos 7 开启docker的2375端口首先在Centos7下安装docker,然后修改配置文件信息,运行命令vim/usr/lib/systemd/system/docker.service在配置信息中找到ExecStart=/usr/bin/dockerd-Hfd://–containerd=/run/containerd/containerd.sock-Htcp://0.0.0.0:23…

    2022年5月18日
    207
  • Docker Compose详解

    Docker Compose详解使用 DockerCompos 预计阅读时间 11 分钟 DockerCompos 是一种用于帮助定义和共享多容器应用程序的工具 使用 Compose 我们可以创建一个 YAML 文件来定义服务 并且使用一个命令 可以启动所有内容或将其全部关闭 使用 Compose 的最大优势是您可以在一个文件中定义您的应用程序堆栈 将其保存在项目 repo 的根目录中 它现在是版本控制的 并且可以轻松地让其他人为您的项目做出贡献 有人只需要克隆您的存储库并启动撰写应用程序 事实上 你现在可能会在 GitHub Gi

    2025年6月17日
    0
  • docker容器端口映射到服务器_阿里云外网端口映射

    docker容器端口映射到服务器_阿里云外网端口映射本篇文章通过具体案例讲解了Docker容器服务访问的两大基本操作,包括基础的容器端口映射机制和容器互联机制。同时,Docker目前可以成熟地支持Linux系统自带的网络服务和功能,这既可以利用现有成熟的技术提供稳定支持,又可以实现快速的高性能转发。………

    2022年10月10日
    0
  • Docker卸载_退出docker容器命令

    Docker卸载_退出docker容器命令##1)进入docker的安装目录cd/usr/local/bin/##2)删除与docker相关的文件夹sudorm-rfdocker*sudorm-rfcom.docker.*sudorm-rfhub-tool*sudorm-rfkube*sudorm-rfvpnkit*完成!

    2022年9月8日
    1

发表回复

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

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