redis tomcat mysql_CentOS7中Docker安装tomcat、redis、mysql 8.0

一、CentOS7安装Docker

1、检查内核版本,必须是3.10及以上

[root@iz2zeizzt8ihoeoyopzzyhz ~]# uname -r

3.10.0-514.26.2.el7.x86_64

2、使用 yum install docker进行安装

[root@iz2zeizzt8ihoeoyopzzyhz ~]#yum install docker

下载确认后出现Complete!则表示成功

3、启动docker

[root@iz2zeizzt8ihoeoyopzzyhz ~]# systemctl start docker

4、查看docker版本

[root@iz2zeizzt8ihoeoyopzzyhz ~]# docker -v

Docker version 1.13.1, build 94f4240/1.13.1

5、开机启动docker

[root@iz2zeizzt8ihoeoyopzzyhz ~]# systemctl enable docker

Created symlink from /etc/systemd/system/multi-user.target.wants/docker.service to /usr/lib/systemd/system/docker.service.

二、Docker安装tomcat并部署war工程

1、拉取tomcat镜像

2、安装tomcat

[root@iz2zeizzt8ihoeoyopzzyhz ~]# docker pull tomcat

3、查看所有镜像

[root@iz2zeizzt8ihoeoyopzzyhz ~]# docker images

REPOSITORY TAG IMAGE ID CREATED SIZE

docker.io/tomcat latest 56219f61066f 51 minutes ago 463 MB

4、启动tomcat

[root@iz2zeizzt8ihoeoyopzzyhz ~]# docker run --name tomcat8080 -d -p 8080:8080 tomcat

a3d4f36dca9865619b48c325c06f5147c92230e369051a60e82fb461eb6f1e20

--name :给容器命名

-d : 后台运行

-p:端口映射

5、查看运行的tomcat

[root@iz2zeizzt8ihoeoyopzzyhz ~]# docker ps

CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES

a3d4f36dca98 tomcat "catalina.sh run" 5 seconds ago Up 4 seconds 0.0.0.0:8080->8080/tcp tomcat8080

然后在浏览器输入 ip:8080可访问默认的tomcat界面

6、部署war工程

首先上传war包到服务器,比如我上传到/home路径下

[root@iz2zeizzt8ihoeoyopzzyhz ~]# ll

total 212532

-rw-r--r-- 1 root root 17231526 Nov 22 2017 admin-controller.war

7、将war包复制到docker容器的tomcat中

可以参考以下两篇博文:

具体我的操作如下:

获取长长的那个ID(tomcat8080是我启动的tomcat起的名字)

[root@iz2zeizzt8ihoeoyopzzyhz ~]# docker inspect -f '{{.Id}}' tomcat8080

a3d4f36dca9865619b48c325c06f5147c92230e369051a60e82fb461eb6f1e20

查看容器中tomcat地址(a3d4f36dca98是tomcat的id)

[root@iz2zeizzt8ihoeoyopzzyhz ~]# docker exec -it a3d4f36dca98 /bin/bash

root@a3d4f36dca98:/usr/local/tomcat#

将tomcat中webapps下的默认文件都删除

root@a3d4f36dca98:/usr/local/tomcat# cd webapps/

root@a3d4f36dca98:/usr/local/tomcat/webapps#

root@a3d4f36dca98:/usr/local/tomcat/webapps# ls

ROOT docs examples host-manager manager ----这些文件都删掉

root@a3d4f36dca98:/usr/local/tomcat/webapps#

将war包cp进tomcat的webapps路径下(docker cp 本地文件路径 ID全称:容器路径)

[root@iz2zeizzt8ihoeoyopzzyhz ~]# docker cp admin-controller.war a3d4f36dca9865619b48c325c06f5147c92230e369051a60e82fb461eb6f1e20:/usr/local/tomcat/webapps/admin-controller.war

restart下就能访问部署的项目了

三、Docker安装redis

1、拉取redis镜像(推荐使用Docker中国的镜像加速)

[root@iz2zeizzt8ihoeoyopzzyhz ~]# docker pull registry.docker-cn.com/library/redis

2.启动redis

[root@iz2zeizzt8ihoeoyopzzyhz ~]# docker run -d -p 6379:6379 --name redis6379 bfcb1f6df2db

然后就可以使用redis客户端工具RedisDesktopManage本地进行操作了

四、Docker安装mysql 8

1、拉取mysql镜像

[root@iz2zeizzt8ihoeoyopzzyhz ~]# docker pull mysql

2.启动mysql

[root@iz2zeizzt8ihoeoyopzzyhz ~]# docker run -p 3309:3306 --name mysql3309 -e MYSQL_ROOT_PASSWORD=root -d mysql --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci

连接客户端会出现问题:本地连接不上

解决:

#Docker-mysql8.0客户端无法连接

进入容器bash并进入mysql命令行

docker exec -it mysql3306 bash

root@eb3dbfb0958f:/# mysql -uroot -p

Enter password:

Welcome to the MySQL monitor. Commands end with ; or \g.

mysql>

//使用mysql数据库

mysql>use mysql

//修改数据库

mysql> ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'root';

//重新修改密码后可连接成功

mysql> alter user 'root'@'%' identified by 'root';

//刷新数据库

mysql> flush privileges;

然后本地就能连接成功了。

你可能感兴趣的:(redis,tomcat,mysql)