docker安装Tomcat,Mysql,Redis

150 阅读2分钟

 1.总体步骤:

2.docker安装tomcat:

(1)docker hub 上面查找tomcat镜像:hub.docker.com/,或者直接使用命令:docker search tomcat

(2)docker pull tomcat:拉取tomcat

(3)docker images docker:查看是否拉取下来了。

(4)docker run -d -p 8080:8080 tomcat :直接启动tomcat,启动命令的参数含义如下:

高版本的tomcat启动成功后访问:ip+端口的时候不会直接在网页上面出现那只猫,而需要将目录里面的webapps目录删除,然后再将webapps.list修改为webapps即可。

注意:进入tomcat命令:docker exec -it 1f1872f26b2d /bin/bash

3.docker安装mysql:

(1)拉取mysql镜像:docker pull mysql:5.7,拉的是5.7版本的。

(2)启动命令:docker run -p 3306:3306 -e MYSQL_ROOT_PASSWORD=lx123456 -d mysql:5.7

启动成功后进入mysql:docker exec -it 运行的容器的镜像id /bin/bash

进入mysql:mysql -uroot -p

(3)使用Navicat也可以链接成功:ip + 端口。

注意:当启动mysql成功后,创建表,插入数据,当插入的是中文数据的时候那么就会报错,乱码。

因为docker下载的mysql默认编码全是拉丁:

还有一个问题就是:上面执行的这个docker启动mysql的命令是没有使用到容器数据卷的,那么当这个mysql容器镜像关闭后那么就会造成数据丢失。

新启动mysql并且使用容器数据卷进行数据持久化:执行下面的命令:

*注意这个命令输入的时候需要使用  *

docker run -d -p 3306:3306 --privileged=true \
-v /myDockerFile/mysql/log:/var/log/mysql \
-v /myDockerFile/mysql/data:/var/lib/mysql \
-v /myDockerFile/mysql/conf:/etc/mysql/conf.d \
-e MYSQL_ROOT_PASSWORD=lx123456 \
--name mysql \
mysql:5.7

解决中文乱码错误:

进入:/lxuse/mysql/conf目录中,通过容器卷将my.conf配置文件传给mysql,而my.conf配置文件中的配置如下:

添加好后重启mysql。

4.docker安装redis:

简单方式:

docker pull redis:6.0.8 拉取镜像

docker run -d -p 6379:6379 redis:6.0.8 运行redis

docker exec -it 镜像id /bin/bash 进入redis

redis-cli 进入redis客户端,进行命令交互。

上面的方式存在的问题:没有挂载容器数据卷,没有设置redis配置文件。

执行下面命令:

docker run -p 6379:6379 --name myRedis --privileged=true \
-v /myDockerFile/redis/redis.conf:/etc/redis/redis.conf \
-v /myDockerFile/redis/data:/data \
-d redis:6.0.8 redis-server /etc/redis/redis.conf \