docker启动mysql容器
// 拉取镜像
docker pull mysql
// 启动容器
docker run -d -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 -v /data/docker-mysql/data:/var/lib/mysql --name mysql mysql:5.7 --restart=always --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci
docker启动nginx容器
1、启动默认容器
docker run -d -p 80:80 --name geovis-nginx nginx:1.20.0
2、复制容器的nginx.conf到本地
docker cp b9b5c441283f:/etc/nginx/nginx.conf .
3、删除默认容器
docker rm geovis-nginx
4、修改 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;
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
access_log /var/log/nginx/access.log main;
sendfile on;
#tcp_nopush on;
keepalive_timeout 65;
#gzip on;
# 配置跨域
add_header Access-Control-Allow-Origin *;
add_header Access-Control-Allow-Headers X-Requested-With;
add_header Access-Control-Allow-Methods GET,POST,OPTIONS;
server{
listen 80;
server_name localhost;
location /{
root /usr/share/nginx/html;
autoindex on;
}
}
5、重新启动容器
docker run -d --name=geovis-nginx --privileged=true --restart=always --net=host -v /data/geovis/nginx/logs:/var/log/nginx -v /data/geovis/nginx/html:/usr/share/nginx/html -v /data/geovis/nginx/conf/nginx.conf:/etc/nginx/nginx.conf -v /etc/localtime:/etc/localtime:ro nginx:1.20.0
6、挂载静态目录
在映射的/data/geovis/nginx/html下创建用户自定义的目录即可
docker启动redis容器
// 拉取镜像
docker pull redis:latest
// 启动容器
docker run -d --name redis --restart=always -p 6379:6379 redis
docker启动postgresql+postgis数据库
// 拉取镜像
docker pull kartoza/postgis:9.6-2.4
// 启动容器
docker run -d -t -p 5432:5432 --name postgresql --restart always -e POSTGRES_USER='postgres' -e POSTGRES_PASS='123456' -e ALLOW_IP_RANGE=0.0.0.0/0 kartoza/postgis:9.6-2.4
docker启动elasticsearch
下载es镜像
新建es文件夹,并创建config、data、plugins3个映射子文件夹。
编写docker-compose.yml文件
启动容器
网页访问:http://47.10.11.41:9200/
docker pull elasticsearch:7.6.1
docker-compose.yml文件内容:
version: '3'
services:
elasticsearch:
container_name: es
image: elasticsearch:7.6.1
ports:
- 9200:9200
- 9300:9300
restart: always
network_mode: "host"
privileged: true
environment:
- discovery.type=single-node
- ES_JAVA_OPTS=-Xms256m -Xmx256m
volumes:
- /data/docker/elasticsearch/config:/usr/share/elasticsearch/config
- /data/docker/elasticsearch/data:/usr/share/elasticsearch/data
- /data/docker/elasticsearch/plugins:/usr/share/elasticsearch/plugins
docker-compose up -d
docker启动kibana
下载kibana镜像
新建kibana文件夹,并创建config子文件夹,在config文件夹中,新建kibana.yml文件
编写docker-compose.yml文件
启动容器
网页访问:http://47.10.11.41:5601/
docker pull kibana:7.6.1
kibana.yml文件内容(注意修改es的ip和端口):
server.name: kibana
server.host: "0"
elasticsearch.hosts: [ "http://47.10.11.41:9200" ]
docker-compose.yml文件内容:
version: '3'
services:
kibana:
container_name: kibana
image: kibana:7.6.1
ports:
- "5601:5601"
restart: 'always'
volumes:
- /data/docker/kibana/config/kibana.yml:/usr/share/kibana/config/kibana.yml
environment:
- ELASTICSEARCH_HOSTS=http://47.10.11.41:9200
docker-compose up -d
docker启动es-head
问题:在docker安装了elasticsearch-head:5和elasticsearch:7.6.2之后,打开界面连接es时发现数据无法展示.于是网上查了下原因,说是elasticsearch 7增加了请求头严格校验的原因,并且返回结果是
{undefined
“error” : “Content-Type header [application/x-www-form-urlencoded] is not supported”,
“status” : 406
}
解决方案:
docker cp elasticsearch-head:/usr/src/app/_site/vendor.js /data/docker/es-head/head/vendor.js
找到vendor.js,修改文件里的两处:
1、6886行
contentType: "application/x-www-form-urlencoded
改成
contentType: “application/json;charset=UTF-8”
2、7573行
var inspectData = s.contentType === “application/x-www-form-urlencoded” &&
改成
var inspectData = s.contentType === “application/json;charset=UTF-8” &&
docker pull mobz/elasticsearch-head:5
docker run -v /data/docker/es-head/head/vendor.js:/usr/src/app/_site/vendor.js -d --name es-head -p 9100:9100 mobz/elasticsearch-head:5
docker启动tomcat
docker pull tomcat:8.5.32
docker-compose.yml 内容:
version: '3'
services:
tomcat:
container_name: geovis-tomcat
image: tomcat:8.5.32
ports:
- 8085:8080
restart: always
volumes:
- /data/docker/tomcat/logs:/usr/local/tomcat/logs
- /data/docker/tomcat/webapps:/usr/local/tomcat/webapps
docker-compose up -d
docker启动rabbitmq
- 拉取镜像
docker pull rabbitmq:3-management
- 启动容器
docker run -d --name rabbitmq -e RABBITMQ_DEFAULT_USER=admin -e RABBITMQ_DEFAULT_PASS=123456 -p 15672:15672 -p 15674:15674 -p 5672:5672 rabbitmq:3-management
- 安装Stomp插件
docker exec -it rabbitmq /bin/bash
rabbitmq-plugins enable rabbitmq_web_stomp rabbitmq_web_stomp_examples
-
访问
http://127.0.0.1:15672
1673060566(1).png
