docker相关总结
Docker 的相关使用记录
一.安装docker
linux环境使用yum命令安装docker
第一步:确保自己的虚拟机没有安装过docker,如果安装过的需要将原先的docker进行卸载,命令如下:
sudo yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-selinux \
docker-engine-selinux \
docker-engine
第二步:确保自己的虚拟机的内核版本在3.10及以上,这个地方用下面的命令:
uname
第三步:确保自己的linux上是否有yum程序,没有的话的可以参考如下网址安装方法:
http://c.biancheng.net/view/824.html
第四步:安装docker软件包
命令如下:
yum install -y yum-utils device-mapper-persistent-data lvm2
然后使用阿里云的下载地址,阿里云的速度比较快.
然后使用阿里云的下载地址,阿里云的速度比较快.
阿里云地址
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
第五步:安装docker:
yum install docker-ce
第六步:测试
docker version
二.docker安装zookeeper
拉取Zookeeper镜像到本地【默认拉取最新版本】
docker pull zookeeper
查看拉取下来的镜像
docker images
运行镜像,产生容器
简单解释一下参数:--name是给启动的容易取的名字,以后启动容器可以使用这个名字来启动
-p 是映射容器端口与本地主机的端口
-- restart always 表示容器如果关闭退出就是重启
-d 表示容器以后台守护进程启动
末尾的zookeeper,表示是刚刚拉取下来的镜像,也可以使用镜像ID【参照第二条命令】
镜像ID可以在使用docker images查看镜像时会列出,参考上一个图
docker run --name myzookeeper -p 2181:2181 --restart always -d zookeeper
docker run --name myzookeeper -p 2181:2181 --restart always -d 06b178591ab3
查看正在运行的容器
docker ps
三.docker 安装kafka
- 启动zookeeper容器
docker run -d --name zookeeper -p 2181:2181 -t wurstmeister/zookeeper
- 启动kafka容器
docker run -d --name kafka \
-p 9092:9092 \
-e KAFKA_BROKER_ID=0 \
-e KAFKA_ZOOKEEPER_CONNECT=192.168.204.128:2181 \
-e KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://192.168.204.128:9092 \
-e KAFKA_LISTENERS=PLAINTEXT://0.0.0.0:9092 -t wurstmeister/kafka
这里面主要设置了4个参数
这里面主要设置了4个参数
KAFKA_BROKER_ID=0
KAFKA_ZOOKEEPER_CONNECT=192.168.204.128:2181
KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://192.168.204.128:9092
KAFKA_LISTENERS=PLAINTEXT://0.0.0.0:9092
中间两个参数的192.168.204.128改为宿主机器的IP地址,如果不这么设置,可能会导致在别的机器上访问不到kafka。
- 测试kafka
进入kafka容器的命令行
docker exec -ti kafka /bin/bash
进入kafka所在目录
cd opt/kafka_2.12-1.1.0/
后面不再赘述,可参考前一篇文章https://blog.csdn.net/lblblblblzdx/article/details/80548157
后面不再赘述,可参考前一篇文章https://blog.csdn.net/lblblblblzdx/article/details/80548157
- 集群搭建
使用docker命令可快速在同一台机器搭建多个kafka,只需要改变brokerId和端口
docker run -d --name kafka1 \
-p 9093:9093 \
-e KAFKA_BROKER_ID=1 \
-e KAFKA_ZOOKEEPER_CONNECT=192.168.204.128:2181 \
-e KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://192.168.204.128:9093 \
-e KAFKA_LISTENERS=PLAINTEXT://0.0.0.0:9093 -t wurstmeister/kafka
- 创建Replication为2,Partition为2的topic
在kafka容器中的opt/kafka_2.12-1.1.0/目录下输入
bin/kafka-topics.sh --create --zookeeper 192.168.204.128:2181 --replication-factor 2 --partitions 2 --topic partopic
- 查看topic的状态
在kafka容器中的opt/kafka_2.12-1.1.0/目录下输入
bin/kafka-topics.sh --describe --zookeeper 192.168.204.128:2181 --topic partopic
输出结果:
Topic:partopic PartitionCount:2 ReplicationFactor:2 Configs:
Topic: partopic Partition: 0 Leader: 0 Replicas: 0,1 Isr: 0,1
Topic: partopic Partition: 1 Leader: 0 Replicas: 1,0 Isr: 0,1
显示每个分区的Leader机器为broker0,在broker0和1上具有备份,Isr代表存活的备份机器中存活的。
当停掉kafka1后,
显示每个分区的Leader机器为broker0,在broker0和1上具有备份,Isr代表存活的备份机器中存活的。
当停掉kafka1后,
docker stop kafka1
再查看topic状态,输出结果:
再查看topic状态,输出结果:
Topic:partopic PartitionCount:2 ReplicationFactor:2 Configs:
Topic: partopic Partition: 0 Leader: 0 Replicas: 0,1 Isr: 0
Topic: partopic Partition: 1 Leader: 0 Replicas: 1,0 Isr: 0
四.docker安装fastdfs
4.1 拉取镜像
docker pull morunchang/fastdfs
如果网速下载慢,可以参考资料文件夹中给大家导出的镜像包上传到 Linux服务器上,通过
docker load -i my_fdfs.tar
加载镜像。使用 docker images查看是否成功
4.2 运行tracker
docker run -d --name tracker --net=host morunchang/fastdfs sh tracker.sh
4.3 运行storage
docker run -d --name storage --net=host -e TRACKER_IP=<your tracker server address>:22122 -e GROUP_NAME=<group name> morunchang/fastdfs sh storage.sh
例子:
docker run -d --name storage --net=host -e TRACKER_IP=192.168.200.130:22122 -e GROUP_NAME=group1 morunchang/fastdfs sh storage.sh
- 使用的网络模式是–net=host, 替换为你机器的Ip即可
- 是组名,即storage的组
- 如果想要增加新的storage服务器,再次运行该命令,注意更换 新组名
4.4 修改nginx的配置
进入storage的容器内部,修改nginx.conf
# 进入到storage容器内部
docker exec -it storage /bin/bash
进入到容器内部后
#1 通过命令来查询Nginx的安装位置
root@iZ8vb6w2xyjemtqcxtmaj4Z:/# whereis nginx
nginx: /etc/nginx
#2 查看当前Nginx的进程
root@iZ8vb6w2xyjemtqcxtmaj4Z:/# ps aux | grep nginx
root 16 0.0 0.0 32480 1480 ? Ss 13:18 0:00 nginx: master process /etc/nginx/sbin/nginx
nobody 100 0.0 0.0 33036 2116 ? S 14:15 0:00 nginx: worker process
root 118 0.0 0.0 11272 728 pts/1 S+ 14:54 0:00 grep --color=auto nginx
添加以下内容
#3 修改Nginx的配置文件
vi /etc/nginx/conf/nginx.conf
#4 修改Nginx配置内容
server {
listen 80;
server_name localhost;
location ~ /M00 {
# storage 实际存储图片的位置
root /data/fast_data/data;
ngx_fastdfs_module;
}
}
#5 进入到Nginx sbin目录从新加载Nginx配置文件
cd /etc/nginx/sbin
# 重新加载配置文件
./nginx -s reload
修改后:
storage存储的位置/data/fast_data/data
4.5 设置开机启动容器
docker update --restart=always tracker
docker update --restart=always storage
五.docker安装MongoDB
5.1 拉取镜像
docker pull mongo
5.2 创建容器
docker run -di --name mongo-service -p 27017:27017 -v ~/data/mongodata:/data mongo
六.docker安装elasticsearch(简称es)
6.1 拉取镜像
docker pull elasticsearch:7.4.0
6.2 创建容器
docker run -id --name elasticsearch -d -p 9200:9200 -p 9300:9300 -v /usr/share/elasticsearch/plugins:/usr/share/elasticsearch/plugins -e "discovery.type=single-node" elasticsearch:7.4.0
6.3安装ik分词器
这里采用离线安装
下载分词器压缩包
下载地址:
https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.4.0/elasticsearch-analysis-ik-7.4.0.zip
将IK分词器上传到/tmp目录中(xftp)
将分词器安装进容器中
#将压缩包移动到容器中
docker cp /tmp/elasticsearch-analysis-ik-7.4.0.zip elasticsearch:/usr/share/elasticsearch/plugins
#进入容器
docker exec -it elasticsearch /bin/bash
#创建目录
mkdir /usr/share/elasticsearch/plugins/ik
#将文件压缩包移动到ik中
mv /usr/share/elasticsearch/plugins/elasticsearch-analysis-ik-7.4.0.zip /usr/share/elasticsearch/plugins/ik
#进入目录
cd /usr/share/elasticsearch/plugins/ik
#解压
unzip elasticsearch-analysis-ik-7.4.0.zip
#删除压缩包
rm -rf elasticsearch-analysis-ik-7.4.0.zip
退出并重启镜像
这玩意装与不装都挺好,不装查到的东西也很精确够使,装上会查出一些没有用的!
七.docker安装kibana
拉取镜像
docker pull kibana:7.4.0
创建容器
docker run -d -p 5601:5601 --link elasticsearch -e "ELASTICSEARCH_URL=http://192.168.200.140:9200" kibana:7.4.0
测试:http://192.168.200.140:5601/
docker相关总结的更多相关文章
- 【云计算】docker相关开源项目、工具
十大基于Docker的开发工具 作者 郭蕾 发布于 2014年8月19日 | 注意:QCon全球软件开发 ...
- Docker相关释义
Docker相关释义 基础网站:http://www.runoob.com/docker/docker-tutorial.html Docker的思想来自于集装箱,集装箱解决了什么问题?在一艘大船上, ...
- docker相关操作
docker 安装参照官网一步一步来,特别简单,主要是下载比较慢: docker 需要 管理员权限: docker 相关命令: 容器生命周期管理 — docker [run|start|stop|re ...
- Jenkins与Docker相关的Plugin使用
原文地址:http://blog.csdn.net/ztsinghua/article/details/52128140 Jenkins与Docker相关的Plugin 在Jenkins Plugin ...
- docker相关使用
安装docker 在CentOS 7上安装docker-ce,首先检查系统中是否已经安装过docker及相关依赖: $ sudo yum remove docker docker-client doc ...
- Docker相关环境全套安装文档兼小技能
Docker相关环境全套安装文档兼小技能 以下环境皆为ubuntu16.04,主要安装docker,docker-compose,docker仓库等. Docker安装 参考官方 A: 有源安装 Ub ...
- Docker相关文档
网上找到的一个入门级Docker学习笔记,写的不错,值得一看. 转自:http://www.open-open.com/lib/view/open1423703640748.html#articleH ...
- Docker 相关命令汇总
操作容器的命令 镜像中的容器启动之后可以在 docker 中操作和查看容器的信息 l docker ps 查看运行的容器,如果想查看全部加上参数-a 即可 l docker create 完整 ...
- docker相关配置
一.概述: 1.centos7下,默认firewalld为防火墙, systemctl status firewalld.service 2.关闭firewalld, systemctl stop f ...
随机推荐
- python+tkinter 的布局
from tkinter import * win = Tk() win.title("布局") # #窗口标题 win.geometry("600x500+200+20 ...
- RESTAPI 版本控制策略【eolink 翻译】
微服务,是现阶段开发建设云原生应用程序的流行趋向.API 版本控制有益于在辨别出所需要的调节时加速迭代更新的速度. 根据微服务架构的关键构件其一,是 API 的设计和规范.针对 API,版本控制是不可 ...
- DP の 百题大过关(5/100)
动态规划自古以来是DALAO凌虐萌新的分水岭,但有些OIer认为并没有这么重要--会打暴力,大不了记忆化.但是其实,动态规划学得好不好,可以彰显出一个OIerOIer的基本素养--能否富有逻辑地思 ...
- UE4.25 Slate源码解读
概述 Slate系统是UE的一套UI解决方案,UMG系统也是依赖Slate系统实现的. 问题: Slate系统是如何组织的? 控件树的父子关系是如何绑定的? Slate系统是如何渲染的? slate渲 ...
- 丽泽普及2022交流赛day21 社论
A 暴力 . greater<double> -> greater<int> \(100\) -> \(50\) 代码丢了 . B dp . 考场上代码抢救一下就过 ...
- JS中操作数组、字符串的速度比较
对相同轻量级的数组和字符串进行检索: const arr = [1, 2, 3, 4, 5, 6, 7, 8, 'q'] const string = '12345678q' const Q = ...
- 使用Python3.7结合Redisearch代替ElasticSearch实现的全文检索功能服务
原文转载自「刘悦的技术博客」https://v3u.cn/a_id_105 "检索"是很多产品中无法绕开的一个功能模块,当数据量小的时候可以使用模糊查询等操作凑合一下,但是当面临海 ...
- 上穷碧落下凡尘:Win10系统下基于Docker配置Elasticsearch7配合Python3进行全文检索交互
原文转载自「刘悦的技术博客」https://v3u.cn/a_id_166 基于文档式的全文检索引擎大家都不陌生,之前一篇文章:使用Redisearch实现的全文检索功能服务,曾经使用Rediseac ...
- NetCore路由的Endpoint模式
IdentityServer里有各种Endpoint,如TokenEndpoint,UserInfoEndpoint,Authorize Endpoint,Discovery Endpoint等等.E ...
- 详解ConCurrentHashMap源码(jdk1.8)
ConCurrentHashMap是一个支持高并发集合,常用的集合之一,在jdk1.8中ConCurrentHashMap的结构和操作和HashMap都很类似: 数据结构基于数组+链表/红黑树. ge ...