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

  1. 启动zookeeper容器
docker run -d --name zookeeper -p 2181:2181 -t wurstmeister/zookeeper
  1. 启动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。

  1. 测试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

  1. 集群搭建

    使用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
  1. 创建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
  1. 查看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相关总结的更多相关文章

  1. 【云计算】docker相关开源项目、工具

    十大基于Docker的开发工具 作者                     郭蕾        发布于     2014年8月19日     |              注意:QCon全球软件开发 ...

  2. Docker相关释义

    Docker相关释义 基础网站:http://www.runoob.com/docker/docker-tutorial.html Docker的思想来自于集装箱,集装箱解决了什么问题?在一艘大船上, ...

  3. docker相关操作

    docker 安装参照官网一步一步来,特别简单,主要是下载比较慢: docker 需要 管理员权限: docker 相关命令: 容器生命周期管理 — docker [run|start|stop|re ...

  4. Jenkins与Docker相关的Plugin使用

    原文地址:http://blog.csdn.net/ztsinghua/article/details/52128140 Jenkins与Docker相关的Plugin 在Jenkins Plugin ...

  5. docker相关使用

    安装docker 在CentOS 7上安装docker-ce,首先检查系统中是否已经安装过docker及相关依赖: $ sudo yum remove docker docker-client doc ...

  6. Docker相关环境全套安装文档兼小技能

    Docker相关环境全套安装文档兼小技能 以下环境皆为ubuntu16.04,主要安装docker,docker-compose,docker仓库等. Docker安装 参考官方 A: 有源安装 Ub ...

  7. Docker相关文档

    网上找到的一个入门级Docker学习笔记,写的不错,值得一看. 转自:http://www.open-open.com/lib/view/open1423703640748.html#articleH ...

  8. Docker 相关命令汇总

    操作容器的命令 镜像中的容器启动之后可以在 docker 中操作和查看容器的信息 l   docker ps 查看运行的容器,如果想查看全部加上参数-a 即可 l   docker create 完整 ...

  9. docker相关配置

    一.概述: 1.centos7下,默认firewalld为防火墙, systemctl status firewalld.service 2.关闭firewalld, systemctl stop f ...

随机推荐

  1. 07 MySQL_事务

    事务 事务( transaction) 是数据库中执行同一业务多条SQL语句 工作单元,事务可以保证多条SQL语句全部执行成功或全部执行失败 和事务相关的SQL语句: 验证事务: 1. 创建表: cr ...

  2. fiddler5+雷电模拟器4.0对app抓包设置

    这次项目刚好需要对微信小程序进行抓包分析,二话不说拿起手机咔咔一顿连接,发现在备用机苹果上抓包正常,但主的安卓机上证书怎么装都失败,原来安卓7版本以后对用户自行安装的证书不再信任,所以无法抓包. 因为 ...

  3. SSH远程登录:两台或多台服务器之间免密登录设置

    有两台(或多台)同局域网的服务器A:192.168.2.21,B:192.168.2.25.让A,B这两台服务器之间能两两互相免密登录,并且每台服务器都可以自我免密登录(自我免密登录即:ssh loc ...

  4. Frame双向通信插件FrameDataTrans

    FrameDataTrans教程 博客园 乳鸽菌 20220729 核心原理是使用postMessage发送数据,window.addEventListener("message" ...

  5. 0202年,您真的需要Thrift这样一个RPC微服务框架来拯救一下传统HTTP接口(api)了

    原文转载自「刘悦的技术博客」https://v3u.cn/a_id_104 目前市面上类似Django的drf框架基于json的http接口解决方案大行其道,人们也热衷于在接口不多.系统与系统交互较少 ...

  6. Vue el与data的两种写法 && Object.defineProperty方法

    1 <!DOCTYPE html> 2 <html> 3 <head> 4 <meta charset="UTF-8" /> 5 & ...

  7. 8. 利用Ansible快速构建MGR | 深入浅出MGR

    GreatSQL社区原创内容未经授权不得随意使用,转载请联系小编并注明来源. 目录 1. 安装ansbile 2. 配置ansible 3. 建立ssh信任 4. 测试ansible 5. 使用ans ...

  8. ETCD快速入门-01 ETCD概述

    1.ETCD概述 1.1 ETCD概述     etcd是一个高可用的分布式的键值对存储系统,常用做配置共享和服务发现.由CoreOS公司发起的一个开源项目,受到ZooKeeper与doozer启发而 ...

  9. ASP.NET Core 6框架揭秘实例演示[32]:错误页面的集中呈现方式

    由于ASP.NET是一个同时处理多个请求的Web应用框架,所以在处理某个请求过程中出现异常并不会导致整个应用的中止.出于安全方面的考量,为了避免敏感信息外泄,客户端在默认情况下并不会得到详细的出错信息 ...

  10. 完成 DolphinScheduler 新手任务赢好礼活动 | 倒计时3 天

    想轻松参与 DolphinScheduler 项目贡献吗? 想获得 500 元京东购物卡吗? 参与活动,有机会得更多活动奖励! 活动截止至6月30日 了解更多详情: 在你参与 DolphinSched ...