美文网首页我爱编程
Ubuntu下启用docker并安装mysql|redis|to

Ubuntu下启用docker并安装mysql|redis|to

作者: 郑昊_9d95 | 来源:发表于2018-02-11 15:14 被阅读0次

RAP文案是一个project,可放在tomcat下运行,启动过程中需要用到mysql和redis。

本例中使用docker来安装并启动RAP。

docker的安装启用

1.安装docker---sudo apt-get install -y docker.io

安装docker

2.启动docker--sudo service docker start

启动docker

3.查看docker镜像

当前还没有docker镜像

docker内启动mysql

1.查找mysql资源--sudo docker search mysql

查找mysql资源

这里我们选用第一个mysql的仓库资源就可以了

2.下载mysql资源--sudo docker pull mysql

资源正在下载 下载完成

3.查看docker镜像--sudo docker images

存在一个mysql的镜像

4.使用mysql镜像启动mysql服务--sudo docker run --name mysql -p 3306:3306 -e MYSQL\_ROOT\_PASSWORD=123456 -d f00

启动mysql并查看运行情况

启动服务后,本机是可以进入mysql的,但远程连接发现失败,这是因为mysql初始化的配置是不支持远程去访问的。则需要进入mysql容器内修改一些允许远程访问的配置。若远程可以访问则跳过第5步

5.设置远程可访问

进入容器内部--sudo docker exec -it mysql bash

进入mysql容器

容器内更新apt-get库并安装vim

apt-get update

apt-get update

apt-get install vim

apt-get install vim

此时可以使用vim去打开配置并修改--vim /etc/mysql/mysql.conf.d/mysqld.cnf

打开配置文件 这个镜像生成的容器bind_address默认就是注释掉的,可以不修改

我们选的这个镜像的bind_address本来就是被注释的,所以可以不更改,也可以打开注释并将值改为0.0.0.0

接着进入mysql数据库--mysql -uroot -p123456

使用123456密码进入mysql

use mysql

select host,user from user;

查看mysql数据库下的user表

当看到root账户的host为%时则,表明可以远程访问了,如果root的host不为%则直接使用sql语句update就行了。当然你也可以新增用户并将它的host设为%,再用这个新用户登录

退出mysql后再exit退出容器

若刚才进入容器并做了修改,则通过commit来提交刚才的修改,第一个mysql是容器名,后一个mysql是镜像名,当然也可以用容器id和镜像id

sudo docker commit mysql mysql

提交 447MB的mysql就是我们修改过配置的镜像 删除先前正在启动的mysql 使用修改过配置的镜像启动一个新的mysql容器 远程连接成功

docker内启动redis

1.查找资源--sudo docker search redis

查找资源

2.下载并查看镜像--sudo docker pull redis

下载并查看镜像

3.启动redis容器--sudo docker run --name redis -p 6379:6379 -d redis

启动

4.访问

因为默认不需要密码就可以通过6379端口访问redis,所以很容易遭到攻击,使得服务器成为肉鸡,所以一般redis不要去设置可远程连接。本次RAP不需要远程访问该Redis,本机访问即可。

若业务上必须要远程访问,则需要修改以下几点:

①redis3之前版本进入redis容器,在/etc/redis/redis.config中修改bind为0.0.0.0,打开注释requirepass并设置密码,退出容器并docker commit  '容器' '镜像名',再用新镜像重新启动一个容器;redis3之后的版本使用docker启动命令时需要使用-v挂载一个自写的redis.config,因为镜像默认没有配置文件

②开通服务器防火墙6379端口

③服务器安全组设置需要开通6379端口的入和出规则

④若做完①②③后还是远程连接失败,则可以校对java代码的redis版本和服务器redis服务版本,这也有可能会有影响,最后还可以寻求服务器提供商帮助,他们也可能针对6379端口做了特殊后台的安全组端口设置。

docker启动tomcat

1.查找资源并下载tomcat--sudo docker search tomcat

查找tomcat

sudo docker pull tomcat

下载tomcat镜像

2.sudo docker images

tomcat镜像已下载

3.本例中,我们需要把RAP的war包放入tomcat容器跑动,所以挂载了宿主机的/home/tomcat/ubuntu/webapps/root包,这样war包放入该路径下就可以等效放入容器中了。

sudo docker run --name tomcat -p 8080:8080 -v $PWD/webapps:/usr/local/tomcat/webapps -d tomcat

挂载webapps目录方式启动tomcat容器

4.下载安装包后将安装包重命名为ROOT.war并放入

下载安装包并重命名为ROOT.war后访问宿主机webapps下

5.修改配置--vim ROOT/WEB-INF/classes/config.properties

修改mysql和redis的配置

因为此前的配置中修改过bind_address信息,所以这里一律将localhost改成ip,另外再添加mysql的root密码,最后在mysql中新建rap_db的数据库

修改前配置 修改后配置 服务器mysql添加rap_db数据库

5.重启tomcat

重启tomcat容器

6.访问RAP--http://xxxxxx:8080

访问网站

7.开机自启

相关文章

网友评论

    本文标题:Ubuntu下启用docker并安装mysql|redis|to

    本文链接:https://www.haomeiwen.com/subject/ktzftftx.html