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镜像

可以在https://hub.docker.com/r/library/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中

可以参考以下两篇博文:

https://blog.csdn.net/qq_32351227/article/details/78673591

https://blog.csdn.net/leafage_m/article/details/72082011

具体我的操作如下:

获取长长的那个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;

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

转载于:https://my.oschina.net/u/3489495/blog/1825335

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值