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. 你有没有想过用电子表格也能做MES、WMS、SRM和MRP

    曾几何时,小微企业多半选择excel和WPS等电子表格,中小企业更喜欢选择用友金蝶和浪潮这样的国产大品牌软件,而大型企业则偏爱SAP.oracle这样的国外大品牌. 时至今日,风向却变了,品牌软件已不 ...

  2. CentOS7设置内核启动顺序

    1.查看设备上安装了几个内核 cat /boot/grub2/grub.cfg |grep menuentry 2.查看当前内核 grub2-editenv list saved_entry=Cent ...

  3. 整除分块套杜教筛为什么是 O(n^2/3) 的

    假设我们要筛一个东西叫做 \(f\) . 记 \[D(n)=\left\{n,\left\lfloor\dfrac n2\right\rfloor,\left\lfloor\dfrac n3\righ ...

  4. linux 编译式安装apache

    apache的安装需要两个组件,APR对于Tomcat最大的作用就是socket调度 组件下载解压完成 ,讲两个组件解压包移动到apache的类库文件夹内 注:如果系统自带了apr和apr-util可 ...

  5. P4983忘情

    今天挺开心的\(\sim\),省选加油\(!\) \(P4893\)忘情 我能说今晚我才真正学会\(wqs\)和斜率优化吗\(?\) 恰好选几个,必然需要\(wqs\)二分一下 那么考虑不考虑次数情况 ...

  6. SQL 注入复习总结

    一.介绍 1.什么是SQL注入? sql 注入是一种将 sql 代码添加到输入参数中,传递到 sql 服务器解析并执行的一种攻击手法. 2.SQL注入的原理 SQL 是操作数据库数据的结构化查询语言, ...

  7. spring实体类(POJO)参数的赋值(form表单)原理

    10.实体类(POJO)参数的赋值(form表单)原理 10.1.原理解析 测试用例 准备好两个实体类 public class Person { private String name; priva ...

  8. 日均 6000+ 实例,TB 级数据流量,Apache DolphinScheduler 如何做联通医疗大数据平台的“顶梁柱”?

    作者 | 胡泽康 鄞乐炜 作者简介 胡泽康 联通(广东)产业互联网公司  大数据工程师,专注于开源大数据领域,从事大数据平台研发工作 鄞乐炜 联通(广东)产业互联网公司 大数据工程师,主要从事大数据平 ...

  9. 社区之光:我和 Apache DolphinScheduler 的这一年

    背景 没错,本文的主人翁就是那个在多个 DolphinScheduler 用户群超级活跃,"孜孜不倦" 地给用户各种答疑的小伙,如果你在群里问过问题,伯毅多半概率回答过,哈哈,今天 ...

  10. 如何免费申请js.org二级域名

    最近看到很多人都去申请了js.org的域名,我就来写个教程吧! (本教程只注重于申请域名,而不是如何使用Github) 看看成品:https://butterfly.js.org/ 官网是这么写的: ...