关于docker:Docker常用镜像安装

6次阅读

共计 4184 个字符,预计需要花费 11 分钟才能阅读完成。

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
正文完
 0