docker 笔记

https://blog.csdn.net/huangjhai/article/details/118854733

基础篇:https://blog.csdn.net/Mr_YanMingXin/article/details/119504925

进阶篇:https://blog.csdn.net/Mr_YanMingXin/article/details/119597321

 

docker安装redis:

1.搜索redis镜像

docker search redis

2.下载redis镜像(可以指定版本号)

docker pull redis:版本

3.创建redis的宿主机挂载目录,用于挂载redis的数据以及配置文件

mkdir -p /root/docker/redis/data
mkdir -p /root/docker/redis/conf

4.新建redis.conf配置文件,并且进行配置。注意:redis容器中没有自带的redis.conf,通过挂载redis.conf解决此问题。

// 创建redis.conf,要在/root/docker/redis/conf 文件夹下
touch redis.conf
# bind 127.0.0.1 
# 指定端口号,默认6379
port 6380
# 关闭安全模式,默认是yes
protected-mode no
# 配置redis持久化,默认是no --redis默认是将数据保存在内存中,redis重启后,数据会消失,配置后可以持久化到宿主主机本地
appendonly yes
# 配置redis连接密码
requirepass 123456

5.创建容器并启动

docker run --name myredis -p 6379:6380 -v /root/docker/redis/data:/data -v /root/docker/redis/conf/redis.conf:/etc/redis/redis.conf -d redis redis-server /etc/redis/redis.conf

释义如下:

–-name:给容器定义name

-p:端口映射 宿主机:容器

-v:挂载自定义配置 自定义配置:容器内部配置

-d:后台运行

redis-server:redis服务以指定配置文件启动

--appendonly yes 开启持久化(我们在redis.conf配置了,所以没有用到)

--requirepass 123455 配置redis连接密码(我们在redis.conf配置了,所以没有用到)

6.查看docker状态

docker ps

7.通过redis可视化工具连接,就可以正常使用了,如果不能连接,可以看端口号是否放开。也可以通过容器内部连接测试

docker exec -it myredis redis-cli -h x.x.x.x -p xxxx

 

 docker 安装ElasticSearch、Kibana

-------elasticsearch-----------

elasticsearch:非关系型数据库,常用语海量查询;
kibana:它是elasticsearch的可视化界面

1.下载镜像文件

docker pull elasticsearch:7.6.2  //存储和检索数据
docker pull kibana:7.6.2 //可视化检索数据

 

2.创建elasticsearch的宿主机挂载目录,用于挂载redis的数据以及配置文件

mkdir -p /mydata/elasticsearch/config
mkdir
-p /mydata/elasticsearch/data
mkdir -p /mydata/elasticsearch/plugins
echo "http.host:0.0.0.0" >> /mydata/elasticsearch/config/elasticsearch.yml

3.创建容器并启动

//--name为容器起名,-p暴露两个端口,9200以后发送http请求使用,
//9300分布式集群状态下,节点之间的通信端口
//-e "discovery.type=single-node" \单节点运行
//-e ES_JAVA_OPTS="-Xms64m -Xmx128m" \指定es初始占用64m,最大占用128m
docker run --name elasticsearch -p 9200:9200 -p 9300:9300 \ -e "discovery.type=single-node" \ -e ES_JAVA_OPTS="-Xms64m -Xmx128m" \ -v /mydata/elasticsearch/config/elasticsearch.yml:/usr/share/elasticsearch/elasticsearch.yml \ -v /mydata/elasticsearch/data:/usr/share/elasticsearch/data \ -v /mydata/elasticsearch/plugins:/usr/share/elasticsearch/plugins \ -d elasticsearch:7.6.2

4.连接测试,端口号9200,如果有防火墙或者安全组记得放开端口号

-----发现不能连接,查看logs日志

docker logs elasticsearch    //查看日志

 

 AccessDeniedException,拒绝访问
原因:elasticsearch容器中的data文件挂载至宿主机外边,由于用户权限的原因导致访问禁止,授予文件夹权限即可

rwx:root用户可读可写可执行,但其他用户只有读和执行的权限,故我们应该讲文件夹的权限均变为rwx
使用:chmod -R 777 /mydata/elasticsearch/ //将所有人权限均变为rwx

 

 重新启动docker容器,在连接测试,正常

 

 --------------------------end---------------------------------

-------------------kibana-------------------

1.安装kibana,创建容器并启动

 

// -e ELASTICSEARCH_HOSTS=http://ip:9200 映射的elasticsearch的访问url
docker run --name kibana -e ELASTICSEARCH_HOSTS=http://ip:9200 -p 5601:5601 -d kibana:7.6.2

2.访问测试,如图就是成功,稍等重试就ok

 

 

 成功!

 

posted @ 2021-08-27 11:49  keyboard达人  阅读(50)  评论(0编辑  收藏  举报