阿里云轻量服务器docker部署mysql,tomcat,redis

阿里云轻量应用服务器安装docker部署mysql,tomcat,redis以及成功远程连接上

一、docker

1)、docker的安装
  1. ​ 检查centos内核版本(必须是3.10及以上)

    uname -r 
    

1

  1. 安装docker

    yum install docker
    

2

  1. 选择同意安装y
    23

  2. 安装完成

    在这里插入图片描述

2)、docker设置阿里云镜像加速
  1. 打开阿里云选择容器镜像服务并且开通

在这里插入图片描述

2. 查看自己的唯一加速器地址

在这里插入图片描述
3. 配置镜像加速器

```shell
# 修改docker配置文件
sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://rki1jqog.mirror.aliyuncs.com"]
}
EOF
# 重新加载docker的守护进程
sudo systemctl daemon-reload
# 重启docker
sudo systemctl restart docker
# 开机启动docker
sudo systemctl enable docker
```
3)docker的相关命令
# 查看docker的版本
# Docker version 1.13.1, build 4ef4b30/1.13.1
docker -v
# 从docker仓库查找相关镜像
docker search 镜像名
# 从docker仓库拉取对应镜像  tag不加默认为最新版本latest
docker pull 镜像名:tag(版本号)
# 查看本地仓库镜像
docker images
# 删除本地仓库镜像
docker rmi 镜像id
# 后台启动容器
docker run -d --name (为容器取名) 镜像名:tag(版本号)
# 启动容器时进行端口映射
docker run -it -d -p (主机端口号):(容器内部端口号) 镜像名:tag(版本号)

二、docker上部署mysql

1)、仓库拉取最版本mysql
# 拉取mysql镜像
docker pull mysql
# 查看本地仓库镜像
docker images

在这里插入图片描述

在这里插入图片描述

2)、启动mysql容器
# 根据mysql镜像启动容器 并且设置账号密码
docker run --name mysql -e MYSQL_ROOT_PASSWORD=123456 -p 3306:3306 -d mysql
# 查看全部的容器
docker ps -a
# 启动mysql容器
docker start (容器ID)
3)、通过本地主机无法连接到服务器的mysql

在这里插入图片描述

解决办法:

  1. 进入镜像中的mysql

    docker exec -it (容器id) /bin/bash
    
  2. 登录mysql

    mysql -uroot -p
    
  3. 修改root 可以通过任何客户端连接

    ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';
    
  4. 重启mysql容器

    docker restart mysql
    
  5. 连接成功!

三、docker上部署tomcat

1)仓库拉取最新版tomcat
docker pull tomcat

在这里插入图片描述

2)、启动tomcat容器
# 根据tomcat镜像启动容器
docker run --name mytomcat -p 8080:8080 -d tomcat
# 查看全部的容器
docker ps -a
# 启动tomcat容器
docker start mytomcat
3)、解决本机访问不到服务器部署的tomcat
  1. 阿里云服务器上的安全组规则相应的端口号未开启

    这里我将全部端口都打开了(安全性上不推荐使用)

在这里插入图片描述

  1. 最新版本的tomcat包中有两个webapps文件夹,将空的webapps文件夹删除,修改webapps.dist文件夹的名字为webapps

    # 进入容器文件夹内部
    docker exec -it (tomcat容器id) /bin/bash
    # 查看文件夹列表找到webapps
    ls -l
    # 删除空文件夹webapps
    rm -rf webapps
    # 将webapps.dist文件夹改名为webapps
    mv webapps.dist webapps
    # 查看文件夹列表是否成功
    ls -l
    # 重启tomcat容器
    docker restart (tomcat容器id) 
    
  2. 这时你会发现本地主机还是无法访问tomcat,因为docker上部署的tomcat容器启动异常缓慢

根本原因就在于 SecureRandom 这个 jre 的工具类的问题。那为什么 SecureRandom generateSeed 这么慢,甚至挂在 Linux 操作系统呢?Tomcat 7/8 都使用org.apache.catalina.util.SessionIdGeneratorBase.createSecureRandom 类产生安全随机类 SecureRandom 的实例作为会话 ID。
SecureRandom generateSeed使用 /dev/random 生成种子。但是 /dev/random 是一个阻塞数字生成器,如果它没有足够的随机数据提供,它就一直等,这迫使 JVM 等待。键盘和鼠标输入以及磁盘活动可以产生所需的随机性或熵。但在一个服务器缺乏这样的活动,可能会出现问题。

# 进入tomcat容器文件内部
docker exec -it (tomcat容器id) /bin/bash
# 在容器内部安装vim
apt-get update
apt-get install vim
# 进入容器中的jdk安装路径文件夹
cd usr/local/openjdk-8/jre/lib/security/
# 查看文件夹列表
ls -l
# 修改java.security文件
vim java.security
# 查找securerandom.source(命令模式下 按下小写n向下查找大写N向上查找)
/securerandom.source
# insert修改securerandom.sorce
securerandom.source=file:/dev/./urandom
# ESC进入命令模式 :wq(保存退出) exit退出容器内部
# 重启tomcat容器
docker restart (tomcat容器ID)
4)、成功访问

在这里插入图片描述

四、docker上部署redis

1)、仓库拉取最新版redis
# 仓库拉取最新版redis
docker pull redis
# 查看本地仓库的镜像
docker images

在这里插入图片描述

2)、启动redis容器
# 根据redis镜像启动容器
docker run -d -p 6379:6379 --name myredis redis
3)、本地主机连接redis

仓库拉取最新版redis

docker pull redis

查看本地仓库的镜像

docker images


[外链图片转存中...(img-OheS07qK-1583828586008)]

#### 2)、启动redis容器

```shell
# 根据redis镜像启动容器
docker run -d -p 6379:6379 --name myredis redis
3)、本地主机连接redis

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值