Docker常用镜像安装,Hadoop、Elasticsearch、Kibana、PostgreSQL、Redis、Nginx、Activemq。
1 Hadoop镜像安装
1.1 下载Docker镜像
kiwenlau镜像较小,构造时间快,镜像层数少,hadoop2.7.2版本
docker pull kiwenlau/hadoop:1.0
1.2 克隆仓库
克隆仓库到当前文件夹(可以自行创建并切换到相应文件夹)
mkdir -p /home/hadoop-docker
cd /home/hadoop-docker
git clone https://github.com/kiwenlau/hadoop-cluster-docker
1.3 桥接网络
默认是 1 个主节点,2 个从节点,可以根据性能调整为 N 节点
docker network create --driver=bridge hadoop
1.4 运行hadoop容器
cd hadoop-cluster-docker
./start-container.sh
1.5 启动hadoop
./start-hadoop.sh
1.6 网页远程管理hadoop
浏览器访问
Name Node: http://192.168.99.100:50070
Resource Manager: http://192.168.99.100:8088
(docker宿主机的ip默认为192.168.99.100)
1.7 进入hadoop master容器
docker exec -it hadoop-master bash
1.8 关闭hadoop
docker stop hadoop-master
docker stop hadoop-slave1
docker stop hadoop-slave2
2 Elasticsearch镜像安装
2.1 下载镜像,指定6.4.2版本
docker pull elasticsearch:6.4.2
2.2 启动前先在宿主机修改虚拟内存大小
ES启动报错,max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144],需修改内存大小
- 临时修改:
cat /proc/sys/vm/max_map_count
sudo sysctl -w vm.max_map_count=262144
- 永久修改:
在/etc/sysctl.conf 文件最后添加
vm.max_map_count=262144
配置生效
/sbin/sysctl -p
2.3 桥接网络
与kibana通讯
docker network create --driver=bridge esnetwork
2.4 启动Elasticsearch
将本地目录/docker/workspace/es/data挂载到es的数据目录/usr/share/elasticsearch/data下。
discovery.type=single-node 为单节点类型
es 为自定义的容器名称
docker run -d --name es -p 9200:9200 -p 9300:9300 -e ES_JAVA_OPTS="-Xms512m -Xmx512m" -e "discovery.type=single-node" -v /docker/workspace/es/data:/usr/share/es/data -v /docker/workspace/es/logs:/usr/share/es/logs --network esnetwork elasticsearch:6.4.2
2.5 验证是否启动成功
(docker宿主机的ip默认为192.168.99.100)
curl http://192.168.99.100:9200
{
"name" : "O7yByT0",
"cluster_name" : "docker-cluster",
"cluster_uuid" : "8KPHXTnCReO26ytzP1T0BQ",
"version" : {
"number" : "6.4.2",
"build_flavor" : "default",
"build_type" : "tar",
"build_hash" : "04711c2",
"build_date" : "2018-09-26T13:34:09.098244Z",
"build_snapshot" : false,
"lucene_version" : "7.4.0",
"minimum_wire_compatibility_version" : "5.6.0",
"minimum_index_compatibility_version" : "5.0.0"
},
"tagline" : "You Know, for Search"
}
2.6 关闭Elasticsearch
docker stop es
2.7 安装分词器
参考:https://blog.csdn.net/u011499...
3 Kibana镜像安装
3.1 下载镜像,指定6.4.2版本
docker pull kibana:6.4.2
3.2 启动Kibana
启动Kibana前先启动Elasticsearch,docker宿主机的ip默认为192.168.99.100
kibana 为自定义的容器名称
es 为Elasticsearch容器名称
docker run -d --network esnetwork --name kibana -p 5601:5601 -e ELASTICSEARCH_URL=http://es:9200 kibana:6.4.2
3.3 验证是否启动成功
浏览器访问Kibana页面:http://192.168.99.100:5601
3.4 关闭Kibana
docker stop kibana
4 PostgreSQL镜像安装
4.1 下载镜像,指定9.4版本
docker pull postgres:9.4
4.2 启动PostgreSQL
将本地目录/home/pgdata挂载到PostgreSQL的数据目录/var/lib/postgresql/data下。
(这里必须是linux下的目录。如果把mac/windows的目录挂载到PostgreSQL的数据目录,会因为访问权限不足而让启动失败。)
postgres 为自定义的容器名称
docker run -d --name postgres -e POSTGRES_PASSWORD=123456 -p 54321:5432 -v /home/pgdata:/var/lib/postgresql/data postgres:9.4
4.3 关闭PostgreSQL
docker stop postgres
5 PostGis镜像安装
5.1 下载镜像
docker pull mdillon/postgis
5.2 启动PostGis
postgis为自定义的容器名称
docker run -d --name postgis -e POSTGRES_PASSWORD=postgres -p 54321:5432 -v /mnt/dockerData/postgisData:/var/lib/postgresql/data mdillon/postgis
5.3 修改postgis的所属时区
vi /mnt/dockerData/postgisData/postgresql.conf
修改timezone 为 Asia/Shanghai
6 Redis镜像安装
6.1 下载镜像
docker pull redis
6.2 启动Redis
redis 为自定义的容器名称
docker run -d --name redis -p 6379:6379 -v /mnt/dockerData/redisData:/data redis --appendonly yes
6.3 验证连接
redis-cli
7 Nginx镜像安装
7.1 下载镜像
docker pull nginx
7.2 创建配置文件
mkdir -p /mnt/dockerData/nginx/{conf,conf.d,html,logs}
touch /mnt/dockerData/nginx/conf/nginx.conf
touch /mnt/dockerData/nginx/conf.d/default.conf
- nginx.conf内容如下:
user nginx;
worker_processes 1;
error_log /var/log/nginx/error.log warn;
pid /var/run/nginx.pid;
events {
worker_connections 1024;
}
http {
include /etc/nginx/mime.types;
default_type application/octet-stream;
access_log /var/log/nginx/access.log main;
sendfile on;
keepalive_timeout 65;
include /etc/nginx/conf.d/*.conf;
}
- default.conf内容如下:
server {
listen 80;
server_name localhost;
location / {
root /usr/share/nginx/html;
index index.html index.htm;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
}
7.3 启动Nginx
nginx 为自定义的容器名称
docker run --name=nginx -v /mnt/dockerData/nginx/conf/nginx.conf:/etc/nginx/nginx.conf -v /mnt/dockerData/nginx/conf.d:/etc/nginx/conf.d -v /mnt/dockerData/nginx/logs:/var/log/nginx -p 80:80 -d nginx
8 Activemq镜像安装
8.1 下载镜像
docker pull webcenter/activemq
8.2 启动activemq
docker run -d --name activemq -p 61614:61614 -p 61616:61616 -p 8161:8161 -p 1883:1883 webcenter/activemq
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。