docker 安装 mysql ,redis ,nginx,tomcat,rabbitmq,fastdfs,kafka,mongo,elasticsearch
文章目录
- 1 mysql
- 1.1 拉取mysql镜像
- 1.2 启动mysql&设置端口&设置密码
- 1.3 进入mysql容器
- 1.4 输入密码
- 1.5 将mysql容器数据挂载到宿主机中
- 1.5 将mysql数据库备份为sql文件
- 1.5 执行sql导入数据库
- 2 redis
- 2.1 拉取redis镜像到本地
- 2.2 启动redis服务
- 2.3 查看启动日志
- 2.4 加载外部自定义配置启动redis容器
- 2.4.1 redis镜像默认是没有redis.conf配置文件的,需要去官网下载指定版本的配置文件
- 2.4.2 将官方安装包中配置文件进行复制到宿主机指定目录中如
- 2.4.3 修改需要自定义的配置
- 2.4.4 加载配置启动
- 2.5 进入redis容器里面加入数据
- 2.6 可视化工具连接redis查看数据
- 2.7 将数据目录挂载到本地保证数据安全
- 3 nginx
- 3.1 拉取nginx
- 3.2 启动nginx容器
- 3.3 进入nginx
- 3.4 查看nginx配置文件路径
- 3.5 复制配置文件到宿主机
- 3.6 挂载nginx配置以及html到宿主机外部
- 3.7 负载均衡配置
- 4 tomcat
- 4.1 拉取tomcat
- 4.2 启动tomcat
- 4.3 将webapps目录挂载在外部
- 5 RabbitMQ
- 5.1 拉取镜像
- 5.2 运行
- 5.2 防火墙开放两个端口或关闭防火墙
- 5.3 启动容器
- 5.4 访问http:ip:15672
- 6 fastdfs
- 1.获取镜像
- 2.测试上传
- 开放端口(如果是服务器还要开放安全组的端口)
- 7 kafka
- 7.1 安装zookeeper
- 7.2 安装kafka
- 7.3 kafka-manager 图形管理
- 8 mongo
- 8.1 拉取mongo镜像
- 8.2 创建容器运行mongo
- 8.3 进入mongo
- 8.4 创建管理员账号
- 8.5 退出后再次进入容器进行认证
- 8.6 创建一个普通用户,user库
- 8.7再次退出用普通用户登录
- 8.8 使用user数据库
- 8.9 在test表中添加一天数据
- 9 elasticsearch
- 9.1 访问
- 10 hadoop 单机
- 10.1 拉取镜像
- 10.2 创建容器运行
- 10.3 访问地址
1 mysql
1.1 拉取mysql镜像
docker pull mysql:5.7 # 拉取 mysql 5.7docker pull mysql # 拉取最新版mysql镜像
1.2 启动mysql&设置端口&设置密码
docker run --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=root -d mysql
1.3 进入mysql容器
docker exec mysql -it bash
1.4 输入密码
docker exec -it mysql bash
1.5 将mysql容器数据挂载到宿主机中
docker run --name mysql -v /root/mysql/data:/var/lib/mysql -v /root/mysql/conf.d:/etc/mysql/conf.d -e MYSQL_ROOT_PASSWORD=root -p 3306:3306 -d mysql
1.5 将mysql数据库备份为sql文件
- 导出全部数据
docker exec mysql|容器id sh -c 'exec mysqldump --all-databases -uroot -p"$MYSQL_ROOT_PASSWORD"' > /root/all-databases.sql
- 导出指定数据库数据
docker exec mysql sh -c 'exec mysqldump --databases 库名 -uroot -p"$MYSQL_ROOT_PASSWORD"' > /root/student.sql
- 导出指定数据库数据并且不要数据
docker exec mysql sh -c 'exec mysqldump --no-data --databases student -uroot -p"$MYSQL_ROOT_PASSWORD"' > /root/student1.sql
1.5 执行sql导入数据库
docker exec -i mysql sh -c 'exec mysql -uroot p"$MYSQL_ROOT_PASSWORD"' < /root/xxx.sql
2 redis
2.1 拉取redis镜像到本地
docker pull redis
2.2 启动redis服务
docker run -name redis -d redis -d redis #没有暴露外部端口
docker run -name redis -p 6379:6379 -d redis #暴露6379端口给外部宿主机连接
2.3 查看启动日志
docker exec -it 容器id|容器名称
2.4 加载外部自定义配置启动redis容器
2.4.1 redis镜像默认是没有redis.conf配置文件的,需要去官网下载指定版本的配置文件
wget http://download.redis.io/releases/redis-6.0.8.tar.gz
这个命令首先需要安装有 wget
yum install wget
2.4.2 将官方安装包中配置文件进行复制到宿主机指定目录中如
/root/redis/redis.conf
2.4.3 修改需要自定义的配置
bind 0.0.0.0 #开启远程全限
2.4.4 加载配置启动
docker run --name redis6382 -v /root/redis/redis6382.conf:/etc/redis/redis.conf -v /root/redis/data6382:/data -p 6382:6379 -d redis redis-server /etc/redis/redis.conf
2.5 进入redis容器里面加入数据
[root@localhost redis]# docker run --name redis -v /root/redis/redis.conf:/usr/local/etc/redis/redis.conf -p 6379:6379 -d redis redis-server /usr/local/etc/redis/redis.conf
10627eff630b62dde310aa91c9417632c1f43f269f1067d5f1b8fa9cf82e1833
[root@localhost redis]# docker exec -it redis bash
root@10627eff630b:/data# redis-cli
127.0.0.1:6379> set name 123
OK
127.0.0.1:6379>
2.6 可视化工具连接redis查看数据
连接成功之后查看到了数据
2.7 将数据目录挂载到本地保证数据安全
docker run --name redis -v /root/redis/data:/data -v /root/redis/redis.conf:/usr/local/etc/redis/redis.conf -p 6379:6379 -d redis redis-server /usr/local/etc/redis/redis.conf
3 nginx
3.1 拉取nginx
docker pull nginx
[root@localhost ~]# docker pull nginx
Using default tag: latest
latest: Pulling from library/nginx
d121f8d1c412: Already exists
ebd81fc8c071: Pull complete
655316c160af: Pull complete
d15953c0e0f8: Pull complete
2ee525c5c3cc: Pull complete
Digest: sha256:c628b67d21744fce822d22fdcc0389f6bd763daac23a6b77147d0712ea7102d0
Status: Downloaded newer image for nginx:latest
docker.io/library/nginx:latest
3.2 启动nginx容器
docker run -p 80:80 -d --name nginx01 nginx
3.3 进入nginx
docker exec -it nginx01 /bin/bash
3.4 查看nginx配置文件路径
root@24767f7b3e0a:/# whereis nginx
nginx: /usr/sbin/nginx /usr/lib/nginx /etc/nginx /usr/share/nginx/usr/sbin/nginx #执行命令路径
/usr/lib/nginx #依赖库路径
/etc/nginx #配置文件路径
/usr/share/nginx #静态文件路径
3.5 复制配置文件到宿主机
docker cp nginx01(容器id|容器名称):/etc/nginx/nginx.conf .
[root@localhost ~]# docker cp nginx01:/etc/nginx/nginx.conf .
[root@localhost ~]# ll
总用量 8
-rw-------. 1 root root 1241 8月 31 09:03 anaconda-ks.cfg
drwxr-xr-x. 4 root root 32 9月 25 21:59 mysql
-rw-r--r--. 1 root root 643 8月 11 22:50 nginx.conf
drwxr-xr-x. 3 root root 36 9月 26 15:52 redis
[root@localhost ~]# nkdir nginx
-bash: nkdir: 未找到命令
[root@localhost ~]# mkdir nginx
[root@localhost ~]# mv nginx.conf /root/nginx/
[root@localhost ~]# cd nginx/
[root@localhost nginx]# ll
总用量 4
-rw-r--r--. 1 root root 643 8月 11 22:50 nginx.conf
3.6 挂载nginx配置以及html到宿主机外部
docker run -p 80:80 --name nginx01 -v /root/nginx/nginx.conf:/etc/nginx/nginx.conf -v /root/nginx:/usr/share/nginx/html -d nginx
这时文件路径已经映射了,但是/nginx下没有内容所有报错了
在/nginx下新建index.html后就可以了
[root@localhost ~]# cd nginx/
[root@localhost nginx]# ll
总用量 4
-rw-r--r--. 1 root root 643 8月 11 22:50 nginx.conf
[root@localhost nginx]# ls
nginx.conf
[root@localhost nginx]# touch index.html
[root@localhost nginx]# vim index.html
3.7 负载均衡配置
upstream myserver{server 127.0.0.1:1111; # 代理的 ip:端口号server 127.0.0.1:2222;
}server {listen 80;server_name localhost;#charset koi8-r;#access_log logs/host.access.log main;location / {# 负责用到的配置proxy_pass http://myserver;root html;index index.html index.htm;}#error_page 404 /404.html;# redirect server error pages to the static page /50x.html#error_page 500 502 503 504 /50x.html;location = /50x.html {root html;}
}
4 tomcat
4.1 拉取tomcat
docker pull tomcat
4.2 启动tomcat
注意:拉取的tomcat的webapps下是没有页面的
docker run -p 8080:8080 -d --name tomcat01 tomcat
所以当启动tomcat的时候是没有汤姆猫的
docker官方把资源放在了webapps.dist里面,如果要出现汤姆猫就要把webapps.dist里面的文件移动或者复制到webapps下
root@cb8d4c82b008:/usr/local/tomcat# ls
BUILDING.txt CONTRIBUTING.md LICENSE NOTICE README.md RELEASE-NOTES RUNNING.txt bin conf lib logs native-jni-lib temp webapps webapps.dist work
root@cb8d4c82b008:/usr/local/tomcat# cd webapps
root@cb8d4c82b008:/usr/local/tomcat/webapps# ls
root@cb8d4c82b008:/usr/local/tomcat/webapps# cp -r ../webapps.dist/* ./
root@cb8d4c82b008:/usr/local/tomcat/webapps# ls
ROOT docs examples host-manager manager
再次访问成功了!
4.3 将webapps目录挂载在外部
之后只要把项目放在/root/webapps/下就可以了,这样就不用进入tomcat了
docker run -d -p 8080:8080 --name tomcat01 -v /root/webapps/:/usr/local/tomcat/webapps tomcat
5 RabbitMQ
5.1 拉取镜像
docker pull rabbitmq
5.2 运行
docker run -d --name rabbitmq -p 5672:5672 -p 15672:15672 -v /root/rabbitmq:/var/lib/rabbitmq --hostname myRabbit -e RABBITMQ_DEFAULT_VHOST=my_vhost -e RABBITMQ_DEFAULT_USER=admin -e RABBITMQ_DEFAULT_PASS=admin 747
-d 以后台运行
– name rabbitmq 容器名称
-p -p 5672:5672 -p 15672:15672 映射端口
-v 映射目录(/root/rabbitmq为宿主机的目录::/var/lib/rabbitmq为容器中的目录)
–hostname 主机名
-e 指定环境变量;(
RABBITMQ_DEFAULT_VHOST:默认虚拟机名;
RABBITMQ_DEFAULT_USER:默认的用户名;
RABBITMQ_DEFAULT_PASS:默认用户名的密码
)
5.2 防火墙开放两个端口或关闭防火墙
5.3 启动容器
docker exec -it rabbitmq rabbitmq-plugins enable rabbitmq_management
5.4 访问http:ip:15672
6 fastdfs
1.获取镜像
docker run -d --restart=always --privileged=true --net=host --name=fastdfs -e IP=xxx.xx.218.27 -e WEB_PORT=80 -v ${HOME}/fastdfs:/var/local/fdfs registry.cn-beijing.aliyuncs.com/tianzuo/fastdfs
2.测试上传
#进入容器
docker exec -it fastdfs /bin/bash
/#创建文件
echo "Hello FastDFS!">index.html
#测试文件上传
fdfs_test /etc/fdfs/client.conf upload index.html
开放端口(如果是服务器还要开放安全组的端口)
# 浏览器访问端口
firewall-cmd --zone=public --permanent --add-port=8888/tcp
# tracker端口
firewall-cmd --zone=public --permanent --add-port=22122/tcp
# storage端口
firewall-cmd --zone=public --permanent --add-port=23000/tcp
# 重启防火墙
systemctl restart firewalld
7 kafka
7.1 安装zookeeper
docker run -d --name zookeeper \
–publish 2181:2181 \
-v /root/zookeeper/conf:/conf \
-v /root/zookeeper/data:/data \
-v /root/zookeeper/datalog:/datalog \
–restart=always \
–volume /etc/localtime:/etc/localtime wurstmeister/zookeeper
7.2 安装kafka
docker run -d --name kafka -p 9092:9092 \
-e KAFKA_BROKER_ID=0 \
-e KAFKA_ZOOKEEPER_CONNECT=<这里换成你的zookeeper地址和端口> \
-e KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://<这里换成你的kafka地址和端口> \
-e KAFKA_LISTENERS=PLAINTEXT://0.0.0.0:9092 \
-e TZ=“Asia/Shanghai” wurstmeister/kafka
-e KAFKA_BROKER_ID=0 在kafka集群中,每个kafka都有一个BROKER_ID来区分自己
-e KAFKA_ZOOKEEPER_CONNECT/kafka 配置zookeeper管理kafka的路径
-e KAFKA_ADVERTISED_LISTENERS 把kafka的地址端口注册给zookeeper
-e KAFKA_LISTENERS= 配置kafka的监听端口
7.3 kafka-manager 图形管理
- 拉取镜像
docker pull sheepkiller/kafka-manager
- 创建容器
docker run -d --name kfk-manager \
--restart always \
-p 9000:9000 \
-e ZK_HOSTS=<这里换成你的zookeeper地址和端口> sheepkiller/kafka-manager
- 访问地址: <你的manager运行地址>:9000
8 mongo
8.1 拉取mongo镜像
docker pull mongo
8.2 创建容器运行mongo
-p 端口映射(为了安全修改了访问的端口)
–auth 表示连接mongodb需要授权
docker run --name mongodb -p 27016:27017 -d mongo --auth
8.3 进入mongo
docker exec -it 69bc mongo admin
8.4 创建管理员账号
db.createUser({ user: ‘admin’, pwd: ‘admin’, roles: [ { role: “userAdminAnyDatabase”, db: “admin” } ] });
8.5 退出后再次进入容器进行认证
db.auth(“admin”,“admin”)
8.6 创建一个普通用户,user库
db.createUser({ user: ‘czn’, pwd: ‘123456’, roles: [ { role: “readWrite”, db: “user” } ] });
8.7再次退出用普通用户登录
db.auth(“czn”,“123456”)
8.8 使用user数据库
use user
8.9 在test表中添加一天数据
db.test.save({name:“czn”});
9 elasticsearch
#拉取镜像
docker pull elasticsearch:7.5.0
#启动镜像
docker run --name elasticsearch -d -e ES_JAVA_OPTS="-Xms512m -Xmx512m" -e "discovery.type=single-node" -p 9200:9200 -p 9300:9300 elasticsearch:7.5.0
- –name表示镜像启动后的容器名称
- -d: 后台运行容器,并返回容器ID;
- -e: 指定容器内的环境变量
- -p: 指定端口映射,格式为:主机(宿主)端口:容器端口
9.1 访问
ip:9200
10 hadoop 单机
10.1 拉取镜像
docker pull sequenceiq/hadoop-docker
10.2 创建容器运行
docker run -it -p 50070:50070 -p 9000:9000 -p 8088:8088 -p 8040:8040 -p 8042:8042 -p 49707:49707 -p 50010:50010 -p 50075:50075 -p 50090:50090 sequenceiq/hadoop-docker /etc/bootstrap.sh -bash
10.3 访问地址
http://ip:50070
docker 安装 mysql ,redis ,nginx,tomcat,rabbitmq,fastdfs,kafka,mongo,elasticsearch相关推荐
- vagrant 安装centos7后,安装 docker, mysql redis nginx 开发环境
1.安装VirtualBox https://www.virtualbox.org/ 直接下载安装 2.安装Vagrant https://www.vagrantup.com/downloads.ht ...
- 2022全新docker安装mysql镜像、tomcat镜像及打包IDEA项目为war包并部署到docker上成功运行
Docker部署web项目 一.推荐提前准备的软件 1.IDEA2022 2.xshell7 3.xftp7 4.Navicat Premium 15 二.docker上安装mysql 1.先从网上拉 ...
- Docker安装Mysql 案例和Tomcat测试
1.先pull一下mysql docker pull mysql docker run --name mysql001 -e MYSQL_ROOT_PASSWORD -d -p 3307:3306 m ...
- Docker 安装 Mysql , Redis,ElasticSearch,Kibana,RabbitMQ,Zipkin,Nacos,Minio Docker服务器环境搭建
- Linux下搭建rabbitMQ、安装jdk、安装redis、安装zookeeper、docker安装MySQL、防火墙常用命令、docker安装、Windows下嘛呢私服搭建、Nginx安装
rabbitMQ 1. 搭建Elang环境 1)安装GCC GCC-C++ Openssl等模块,安装过就不需要安装了 yum -y install make gcc gcc-c++ kernel-d ...
- Linux 安装 docker,使用docker 安装mysql、redis、jdk、nginx
1.安装docker 这里使用的是阿里云的CentOS 操作系统 废话不多说,直接安装 1.1.首先安装一些必要的工具 sudo yum install -y yum-utils device-map ...
- docker安装mysql redis_Docker安装Mysql和Redis以及构建部署应用镜像
为了方便本地测试项目,为了方便开启新的环境,为了方便部署,打算本地利用Docker安装Mysql和Redis. 搭建Springboot项目,编写Dockerfile,打包构建镜像. 简单使用dock ...
- Docker + redis + nginx + tomcat
Docker + redis + nginx + tomcat 环境 pc机 机器 192.168.1.242 系统 [root@hdp-gp-dk02 ~]# uname -a Linux hdp- ...
- vagrant给vmbox创建虚拟机及docker安装mysql和redis
一.安装vmbox和vagrant 1.下载地址 Vagrant: https://releases.hashicorp.com/vagrant/2.2.5/vagrant_2.2.5_x86_64. ...
- docker 安装 mysql 并映射数据库存放路径及配置文件
[Docker那些事]系列文章 docker 安装 与 卸载 centos Dockerfile 文件结构.docker镜像构建过程详细介绍 Dockerfile文件中CMD指令与ENTRYPOINT ...
最新文章
- 关于text段、data段和bss段
- java jdbc datetime_Java JDBC 操作二进制数据、日期时间
- Windows下创建动态库
- prod和probor在matlab,基本FIS编辑器(MATLAB模糊逻辑工具箱函数)
- PDF搜索、转换与处理类网站
- 页面事务处理 ContextUtil.SetComplete(); 没有 MTS 对象上下文
- linux内核c1bcbc40,【资料共享】给学习linux内核的大餐
- CCNA实验(9) -- Frame Relay
- 网络知识:交换机中的半双工与全双工知识笔记
- Linux内核概念:per-CPU,cpumask,inicall机制,通知链
- mysql5.6主从复制与基于amoeba实现读写分离
- 实现滑动分页(微博分页方式)
- linux常用命令大全,入门基础版
- opendrive map with UE4
- Java基础1-环境篇:JDK安装与环境变量配置
- 使用ceph-deploycep集群部署,并用3个磁盘作为专用osd
- Mybatis 新增返回ID
- 研究人员发现英特尔芯片组中可能被黑客使用的“新功能”VISA
- MySQL事物和事物回滚
- 电商常识图谱构建及搜索推荐场景下的应用
热门文章
- 一个故事告诉你,压力真的可以击垮一个人
- SSL协议与Nginx安装SSL模块和ssl证书
- Linux操作系统笔记(基本命令+环境安装项目部署+Shell编程)
- layer.js 贤心制作的弹出层插件-不仅仅是弹层
- c语言实现十进制转换其他进制的代码
- DHCP实现跨网段自动分配IP地址
- 关于win7快速启动栏以及显示桌面功能的还原
- 【5GC】三种SSC(Session and Service Continuity)模式介绍
- 【论文导读】Continuity Scaling: A Rigorous Framework for Detecting andQuantifying Causality Accurately
- java自学笔记(4)-Stanford CS106A 弹球动画 20.9.9