美文网首页我爱编程
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