docker对的tomcat、mysql、redis、nginx的安装
本章篇章主要讲解了docker对常用软件的安装说明
总体步骤:搜索镜像、拉取镜像、查看镜像、启动镜像、停止容器、移除容器
tomcat
docker seacher tomcat//也可以在docker hub上面查找tomcat镜像
docker pull tomcat 从docker hub上拉取tomcat镜像到本地
docker images//查看是否拉取到镜像
**理解用**
docker run -it -p 8080:8080 tomcat//运行tomcat镜像
**注意:**
tomcat10以后的版本要将原本的webapps删除的然后将webapps.dist目录名称换成webapps,
mysql帮助理解篇
docker seacher mysql
docker pull mysql:5.7//以5.7版本为例 不写默认最新版本
docker images mysql:5.7
docker run -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 -d mysql:tag //运行mysql,**只为理解用实际工作千万不能用!!!**
-e:环境
-MYSQL_ROOT_PASSWORD:root密码的设置
-d:后台启动
tag:版本号
docker exec -it [mysql的ID] /bin/bash //连接到mysql
mysql -uroot -p //登录mysql
docker 容器下对mysql的坑
1、中文乱码docker默认字符集编码隐患,一般用可视化工具直接建表不会出现这个问题
SHOW VARIABLES LIKE 'character%'
2、关闭容器实例没加数据卷,相当于数据没有从容器备份到宿主机上
mysql实战篇
**实战用**
上种运行mysql的弊端已经在备注下描写过了,实际启动方式一般为下种方式
**1、在安装完成后第一步新建mysql实例,安装方式上面已经描述这里不再重复**
docker run -dp 3306:3306 --privileged=true
-v /zzyyuse/mysq1/1og:/var/1og/mysql
-v /zzyyuse/mysql/data:/var/lib/mysql
-v /zzyyuse/mysql/conf:/etc/mysql/conf.d
-e MYSQL_ROOT_PASSWORD=123456
--name mysql mysql:5.7//实际工作用该方法
--privileged=true//开启特权模式,允许容器拥有与主机相同的权限
-v:挂载宿主机的目录或文件到容器中的参数。通过-v可以在容器中访问宿主机中的文件或目录,实现数据的共享和持久化。
2、解决终端乱码问题
1)新建my.cnf,将2)的配置粘贴到my.cnf文件种
vim my.cnf
2)将下面的配置内容粘贴到my.cnf文件种
[client]
default character set=utf8
[mysqld]
collation_server = utf8_general_ci
character_set_server = utf8
3)重启数据库
docker restart mysql
总结
**对于目前大部分企业还是选择不将数据库放到容器里,若选择这种情况务必务必务必!!要将数据卷同步!
因为容器在被删除的时候会将保留的内存一并删除该情况造成的后果相当相当严重!
当然也有解决的问题就是共享卷将Docker容器中的数据共享到宿主机中可以解决该问题
-v /zzyyuse/mysq1/1og:/var/1og/mysql
-v /zzyyuse/mysql/data:/var/lib/mysql
-v /zzyyuse/mysql/conf:/etc/mysql/conf.d
以上是对数据日志以及包的共享,再删除之后从新运行mysql镜像会将原本的数据也成功保留
**
redis
1)docker seacher redis//在docker hub上面查找redis镜像
2)docker pull redis:6.0.8//从docker hub上拉取redis镜像到本地
3)在宿主机下新建目录app/redis
mkdir -p /app/redis//递归在宿主机下创建文件目录
4)将redis.conf模板拷贝到/app/redis目录下
cp /xxx/redis.conf /app/redis
5)在/app/redis目录下修改redis.conf
允许redis外地连接 必须注释掉 # bind 127.0.0.1
将daemonize yes注释或者daemonize 设置为no,因为该配置和docker run中-d参数冲突,会导致容器一直启动失败
开启redis数据持久化 appendonly yes (可选)
6)运行镜像
docker run -d -p 6379:6379 redis:6.0.8//后台运行redis
--privileged=true//开启特权模式,允许容器拥有与主机相同的权限
docker exec -it [ID] /bin/bash
docker run p 6379:6379 --name myr3--privileged=true
-v /app/redis/redis.conf:/etc/redis/redis.conf //从宿主机下的redis.conf 映射到etc下的redis.conf
-v /app/redis/data:/data //宿主机和容器实例的路径映射
-d redis:6.0.8 redis-server /etc/redis/redis.conf
7)测试连接
docker exec -it [容器ID或名称] /bin/bash
redis-cli
docker对的tomcat、mysql、redis、nginx的安装的更多相关文章
- CentOS7 服务器 JDK+TOMCAT+MYSQL+redis 安装日志
防火墙配置(参考 CentOS7安装iptables防火墙) 检查是否安装iptables #先检查是否安装了iptables service iptables status #安装iptables ...
- Linux JDK+TOMCAT+MYSQL+redis 安装日志
检查是否安装iptables #先检查是否安装了iptablesservice iptables status#安装iptablesyum install -y iptables#升级iptables ...
- mq/mysql/redis/nginx常见服务&工具安装
单机版 3.1安装工具 3.1.1 安装Maven工具 3.1.1上传安装包 1)root用户创建安装目录如/usr/local /maven: mkdir -p /usr/local/maven ...
- linux下配置jdk,tomcat,mysql,redis,zookeeper
jdk: 解压: tar zxvf jdk-8u144-linux-x64.tar.gz 执行:vi /etc/profile export JAVA_HOME=/usr/local/jdk1.8.0 ...
- 如何基于 Docker 快速搭建 Springboot + Mysql + Redis 项目
目录 前言 项目目录 搭建项目 1. docker安装启动mysql以及redis 1.1 安装mysql 1.2 安装redis 2. 初始化数据库 3.创建项目 4.初始化代码 4.1 全局配置文 ...
- ContOS 7安装Docker使用及部署MySQL和Nginx
此文章采取狂神说Java https://space.bilibili.com/95256449 Docker学习网址: Docker官网:https://www.docker.com/ Docker ...
- 一键部署十个服务脚本--可拆分---java+mysql+redis+nginx+rocketmq..等等
java + mysql +redis + minio + nginx + rocketmq + rocketmq-console + elasticsearch + kibana + logstas ...
- 105道BAT最新Java面试题(MySQL+Redis+nginx+ookeeper+MongoDB)
MySQL面试题 1. 主键 超键 候选键 外键 2.数据库事务的四个特性及含义 3. 视图的作用,视图可以更改么? 4. drop,delete与truncate的区别 5. 索引的工作原理及其种类 ...
- Linux上安装jdk Tomcat mysql redis等
1.安装JDk 1.1这里使用xshell中xfxp进行文件的上传,将jdk二进制包上传到Linux服务器上 下载地址:https://www.oracle.com/java/technologie ...
- tomcat+java+redis环境linux安装
最近要加一个环境测试,自力更生,丰衣足食,记下来下次安装环境速度快点 java jdk-1.80_131 64位 这个jdk 对于初次下载的人要注意,oracel现在不登录不让下载,而注册用户时页面无 ...
随机推荐
- 【Vue】Re12 Webpack 第三部分(插件、热部署、配置分离)
一.HtmlWebpackPlugin webpack插件安装: npm install html-webpack-plugin --save-dev // 版本太高构建报错原因换这个 npm ins ...
- 自动驾驶开源数据库 —— nuscenes
地址: https://www.nuscenes.org/
- 电视家APP会员退款了 —— 网络电视APP的合规性处理
今天打开家里网络电视的时候突然发现"电视家APP"居然无法使用了,随后发现账户关联的银行卡收到退款了,于是好奇的研究了一下这个事情. 由于家里是在农村,闭路电视的图像效果很差,估计 ...
- 【转载】 MPP大规模并行处理架构详解
本文来自博客园,作者:五分钟学大数据 原文链接:https://www.cnblogs.com/itlz/p/14998858.html =============================== ...
- 设计和实现AI算法算法时有没有必要在代码中加注释,没有用必要在实现之前弄个UML图???
问题如题: 设计和实现AI算法算法时有没有必要在代码中加注释,没有用必要在实现之前弄个UML图??? 今天看到一个博文: https://www.cnblogs.com/siyuanwai/p/154 ...
- 【转载】 关于Numpy数据类型对象(dtype)使用详解
原文地址: https://www.cnblogs.com/dreamboy2000/p/15350478.html ========================================= ...
- Centos7安装mysql8.0教程
1.背景 centos7安装mysql8.0 2.安装步骤 步骤一:安装准备工作 1.查看是否有安装过mysql rpm -qa | grep -i mysql 2.删除mysql yum -y re ...
- 遥遥领先!鲲鹏ARM架构下国产数据同步能力大幅提升16.9倍
在上篇文章<2.6倍!WhaleTunnel客户POC实景对弈DataX>发布之后,一个客户突然向我们控诉其苦DataX久矣,因为是在信创的鲲鹏ARM CPU上运行 ,每天同步需要很长时间 ...
- 实体类如何"不费力气"的转为Map
初衷: db返回了一个实体类,想封装成一个Map留着按需获取属性,所以就有了下面的Utils import java.lang.reflect.InvocationTargetException; i ...
- 01-canvas体验
1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta charset="U ...