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】Re17 Router 第四部分(参数传递,守卫函数)
一.案例搭建 新建Profile组件 组件写好内容后配置路由 { path : '/profile', component : () => import('../components/Profi ...
- IEEE TCDS 专刊"Embodied AI in Indoor Robotics"征稿通知
原文地址: https://mp.weixin.qq.com/s/Z-U4EO6FCF703yMwHXAq5A 随着深度学习和强化学习在机器人学领域的迅猛发展,尤其是大型语言模型的创新进步,具身人工智 ...
- 如何在jax框架的jit中快速的实现循环结构 —— Jax框架的jit编译是否可以使用循环结构
相关: Jax框架的jit编译是否可以使用循环结构,如果使用循环结构需要注意什么 前文中给出了jit下使用python做循环结构的代码,下面再次给出这个代码,这个代码为jupyter-notebook ...
- error while loading shared libraries: libxml2.so.2: cannot open shared object file 解决方法
参考: https://blog.csdn.net/qq_39779233/article/details/128215517 ==================================== ...
- python的logging 模块的propagate设置
代码: import logging import sys LOG_FORMAT = '[%(asctime)s PID:%(process)d %(levelname)s %(filename)s ...
- JUC高并发编程详细教程
1.大纲 2.课件 https://www.yuque.com/java51/avi/xevuo1 3.视频与代码 1.视频教程 2.视频资料领取,课程代码下载,加微信851298348,发送&quo ...
- dll文件缺失
下载[dll修复工具],花点钱就可以了,比自己百度香多了,网上的解决方案解决不了的这个一键全部解决,愿意百度的去百度,百度不到的建议使用,我吃过这个亏,电脑刷机丢失140.dll文件,网上百度一个都不 ...
- SMU 2024 spring 天梯赛3
SMU 2024 spring 天梯赛3 7-1 重要的话说三遍 - SMU 2024 spring 天梯赛3 (pintia.cn) I'm gonna WIN! I'm gonna WIN! I' ...
- Linux-mknod命令
mknod 创建块设备或者字符设备文件.此命令的适用范围:RedHat.RHEL.Ubuntu.CentOS.SUSE.openSUSE.Fedora. 用法: mknod [选项]... 名称 类型 ...
- freertos学习(九)软件定时器
软件定时器 软件定时器是freeRTOS通过一个硬件定时器,实现的定时器.可以实现不同时长的多个定时任务 不从中断上下文中执行定时器回调函数(不消耗任何处理时间) 实现流程 设置软件定时器,推入定时器 ...