这里写目录标题
- nginx
- --------------------------tomcat
- elasticsearch
- kafka
- mysql
- rabbitmq
- rocketMq
- redis
nginx
docker pull nginx
html文件路径: /etc/nginx/html
配置文件路径:/etc/nginx/nginx.conf
日志存放路径:/var/log/nginx
mkdir -p /docker/nginx/log
vim /docker/nginx/conf/nginx.conf
#user nobody;
worker_processes 1;
#error_log logs/error.log;
#error_log logs/error.log notice;
#error_log logs/error.log info;
#pid logs/nginx.pid;
events {
worker_connections 1024;
}
http {
include 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 logs/access.log main;
sendfile on;
#tcp_nopush on;
#keepalive_timeout 0;
keepalive_timeout 65;
#gzip on;
server {
listen 80;
server_name localhost;
#charset koi8-r;
#access_log logs/host.access.log main;
location / {
root html;
index index.html index.htm;
}
#error_page 404 /404.html;
# redirect server error pages to the static page /50x.html
#
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
# proxy the PHP scripts to Apache listening on 127.0.0.1:80
#
#location ~ \.php$ {
# proxy_pass http://127.0.0.1;
#}
# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
#
#location ~ \.php$ {
# root html;
# fastcgi_pass 127.0.0.1:9000;
# fastcgi_index index.php;
# fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;
# include fastcgi_params;
#}
# deny access to .htaccess files, if Apache's document root
# concurs with nginx's one
#
#location ~ /\.ht {
# deny all;
#}
}
# another virtual host using mix of IP-, name-, and port-based configuration
#
#server {
# listen 8000;
# listen somename:8080;
# server_name somename alias another.alias;
# location / {
# root html;
# index index.html index.htm;
# }
#}
# HTTPS server
#
#server {
# listen 443 ssl;
# server_name localhost;
# ssl_certificate cert.pem;
# ssl_certificate_key cert.key;
# ssl_session_cache shared:SSL:1m;
# ssl_session_timeout 5m;
# ssl_ciphers HIGH:!aNULL:!MD5;
# ssl_prefer_server_ciphers on;
# location / {
# root html;
# index index.html index.htm;
# }
#}
}
vim /docker/nginx/html/index.html
<!DOCTYPE html>
<html>
<head>
<title>Welcome to nginx!</title>
<style>
body {
width: 35em;
margin: 0 auto;
font-family: Tahoma, Verdana, Arial, sans-serif;
}
</style>
</head>
<body>
<h1>Welcome to nginx!</h1>
<p>If you see this page, the nginx web server is successfully installed and
working. Further configuration is required.</p>
<p>For online documentation and support please refer to
<a href="http://nginx/">nginx.org</a>.<br/>
Commercial support is available at
<a href="http://nginx/">nginx.com</a>.</p>
<p><em>Thank you for using nginx.</em></p>
</body>
</html>
docker run --name nginx -d -p 80:80 -v /docker/nginx/conf/nginx.conf:/etc/nginx/nginx.conf -v /docker/nginx/html:/etc/nginx/html -v /docker/nginx/log:/var/log/nginx nginx
curl localhost
端口暴露:
docker的 80>centos 防火墙80>阿里云安全的80>外网
进入nginx
docker exec -it nginx /bin/bash
whereis nginx
cd /etc/nginx
--------------------------tomcat
docker pull tomcat:9.0
docker run -d -p 8080:8080 --name mytomcat tomcat
开通端口号
firewall-cmd --zone=public --add-port=80/tcp --permanent
重启防火墙
firewall-cmd --reload
查看开放端口
firewall-cmd --list-ports
进入容器
docker exec -it mytomcat /bin/bash
没有webapps 会导致找不到报404 默认为最小的镜像把不必要的都剔除了
将webapps.dist下的所有拷贝到webapps
cp -r webapps.dist/* webapps
再次刷新
mkdir /docker/tomcatZpCs/webapps
mkdir /docker/tomcatZpCs/conf
mkdir /docker/tomcatZpCs/logs
docker cp 容器id:/usr/local/tomcat/conf /docker/
docker run -d -p 映射端口:tomcat端口-v /docker/tomcatZpCs/webapps:/usr/local/tomcat/webapps -v /docker/tomcatZpCs/conf:/usr/local/tomcat/conf -v /docker/tomcatZpCs/logs:/usr/local/tomcat/logs -v /etc/localtime:/etc/localtime --name tomcatZpCs tomcat:8
elasticsearch
官方文档提供了
mkdir -p /docker/elasticsearch/config
mkdir -p /docker/elasticsearch/data
mkdir -p /docker/elasticsearch/plugins
mkdir -p /docker/elasticsearch/backup
mkdir -p /docker/elasticsearch/logs
vi /docker/elasticsearch/config/elasticsearch.yml
文档授权
chmod 777 /docker/elasticsearch/data
chmod 777 /docker/elasticsearch/config/elasticsearch.yml
chmod 777 /docker/elasticsearch/plugins
chmod 777 /docker/elasticsearch/backup
chmod 777 /docker/elasticsearch/logs
单节点
cluster.name: my-application
node.name: node-1
node.attr.rack: r1
network.host: 0.0.0.0
network.publish_host: 192.168.9.164
http.port: 9200
transport.tcp.port: 9300
docker run -it --name elasticsearch -d -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" -e ES_JAVA_OPTS="-Xms256m -Xmx256m" -v /docker/elasticsearch/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml -v /docker/elasticsearch/data:/usr/share/elasticsearch/data -v /docker/elasticsearch/plugins/:/usr/share/elasticsearch/plugins elasticsearch:7.13.3
cluster.name: elasticsearch‐cluster
# 集群名
# # 节点名
node.name: es‐node1
# # 绑定host,0.0.0.0代表当前节点的ip
network.host: 0.0.0.0
# # 设置其它节点和该节点交互的ip地址,如果不设置它会自动判断,值必须是个真实的ip地址(本机ip)
network.publish_host: 192.168.9.164
# # 设置对外服务的http端口,默认为9200
http.port: 9200
http.host: 0.0.0.0
# # 设置节点间交互的tcp端口,默认是9300
transport.tcp.port: 9300
# # 表示这个节点是否可以充当主节点
node.master: true
# # 是否充当数据节点
node.data: true
# # 所有主从节点ip:port
discovery.seed_hosts: ["192.168.22.130:9300"]
# # 这个参数决定了在选主过程中需要 有多少个节点通信 预防脑裂
discovery.zen.minimum_master_nodes: 1
创建文件
mkdir -p /docker/kibana/config
vi /docker/kibana/config/kibana.yml
查看es内部地址
docker inspect es容器id
server.name: kibana
server.host: "0.0.0.0"
elasticsearch.hosts: [ "http://172.17.0.3:9200" ]
xpack.monitoring.ui.container.elasticsearch.enabled: true
docker run -d --log-driver json-file --log-opt max-size=100m --log-opt max-file=2 --name kibana -p 5601:5601 -v /docker/kibana/config/kibana.yml:/usr/share/kibana/config/kibana.yml kibana:7.13.3
kafka
docker run -d --name zookeeper -p 2181:2181 zookeeper
KAFKA_ZOOKEEPER_CONNECT=172.17.0.3:2181 (启动后的zk再docker的地址)
KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://192.168.9.110:9092 (虚拟机地址)
KAFKA_LISTENERS=PLAINTEXT://172.17.0.1:9092 (docker地址)
docker run -d --name kafka -p 9092:9092 -e KAFKA_BROKER_ID=0 -e KAFKA_ZOOKEEPER_CONNECT=172.17.0.3:2181 -e KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://192.168.9.110:9092 -e KAFKA_LISTENERS=PLAINTEXT://172.17.0.1:9092 -t wurstmeister/kafka
#rabbitmq
docker pull rabbitmq:management
docker run -d --name rabbit -e RABBITMQ_DEFAULT_USER=admin -e RABBITMQ_DEFAULT_PASS=admin -p 15672:15672 -p 5672:5672 -p 25672:25672 -p 61613:61613 -p 1883:1883 rabbitmq:management
命令中的【RABBITMQ_DEFAULT_USER=admin -e RABBITMQ_DEFAULT_PASS=admin】是web管理平台的用户名和密码
【 -p 15672:15672】 是控制平台docker映射到系统的对应端口
【 -p 5672:5672】 是应用程序的访问端口
mysql
docker run -p 3306:3306 --name=mysql \
-v /docker/mysql/conf/:/etc/mysql/ \
-v /docker/mysql/data:/var/lib/mysql \
-v /docker/mysql/mysql-files/:/var/lib/mysql-files \
-e MYSQL_ROOT_PASSWORD=123456\
-d --privileged=true --restart=unless-stopped mysql:8.0.20
iptables -I INPUT -ptcp --dport 3306 -j ACCEPT
mysql -u root -p
ALTER USER ‘root’@‘%’ IDENTIFIED WITH mysql_native_password BY ‘123456’ ;
docker start mysql
rabbitmq
docker run -d -p 5672:5672 -p 15672:15672 --name myrabbitmq rabbitmq
docker exec -it 容器id /bin/bash
rabbitmq-plugins enable rabbitmq_management
rocketMq
创建目录
mkdir -p /docker/rmqserver01/logs
mkdir -p /docker/rmqserver01/store
mkdir -p /docker/rmqbroker01/logs
mkdir -p /docker/rmqbroker01/store
mkdir -p /docker/rmqbroker01/conf
vim /docker/rmqbroker01/conf/broker.conf
brokerClusterName = DefaultCluster
brokerName = broker-a
brokerId = 0
deleteWhen = 04
fileReservedTime = 48
brokerRole = ASYNC_MASTER
flushDiskType = ASYNC_FLUSH
brokerIP1 = linuxIP地址
映射本地目录logs权限一定要设置为 777 权限,否则启动不成功
docker pull foxiswho/rocketmq:server
docker pull foxiswho/rocketmq:broker
docker run -d -v /docker/rmqserver01/logs:/home/rocketmq/logs --name rmqnamesrv -e "JAVA_OPT_EXT=-Xms512M -Xmx512M -Xmn128m" -p 9876:9876 foxiswho/rocketmq:4.8.0 sh mqnamesrv
docker run -d -v /docker/rmqbroker01/logs:/home/rocketmq/logs -v /docker/rmqbroker01/store:/home/rocketmq/store -v /docker/rmqbroker01/conf:/home/rocketmq/conf --name rmqbroker -e "NAMESRV_ADDR=rmqnamesrv:9876" -e "JAVA_OPT_EXT=-Xms512M -Xmx512M -Xmn128m" -p 10911:10911 -p 10912:10912 -p 10909:10909 foxiswho/rocketmq:4.8.0 sh mqbroker -c /home/rocketmq/conf/broker.conf
docker run --name rmqconsole --link rmqnamesrv:namesrv -e "JAVA_OPTS=-Drocketmq.namesrv.addr=rmqnamesrv:9876 -Dcom.rocketmq.sendMessageWithVIPChannel=false" -p 8180:8080 -t styletang/rocketmq-console-ng
redis
mkdir /docker/redis/config
mkdir /docker/redis/data
docker pull redis
docker run --restart=always --log-opt max-size=100m --log-opt max-file=2 -p 6379:6379 --name myredis -v /docker/redis/config/redis.conf:/etc/redis/redis.conf -v /docker/redis/data:/data -d redis redis-server /etc/redis/redis.conf --appendonly yes --requirepass redis123123
redis-server /etc/redis/redis.conf 以配置文件启动redis,加载容器内的conf文件,最终找到的是挂载的目录
–appendonly yes 开启redis 持久化
–requirepass 000415 设置密码
protected-mode no
port 6379
tcp-backlog 511
requirepass redis123123
timeout 0
tcp-keepalive 300
daemonize no
supervised no
pidfile /var/run/redis_6379.pid
loglevel notice
logfile ""
databases 30
always-show-logo yes
save 900 1
save 300 10
save 60 10000
stop-writes-on-bgsave-error yes
rdbcompression yes
rdbchecksum yes
dbfilename dump.rdb
dir ./
replica-serve-stale-data yes
replica-read-only yes
repl-diskless-sync no
repl-disable-tcp-nodelay no
replica-priority 100
lazyfree-lazy-eviction no
lazyfree-lazy-expire no
lazyfree-lazy-server-del no
replica-lazy-flush no
appendonly yes
appendfilename "appendonly.aof"
no-appendfsync-on-rewrite no
auto-aof-rewrite-percentage 100
auto-aof-rewrite-min-size 64mb
aof-load-truncated yes
aof-use-rdb-preamble yes
lua-time-limit 5000
slowlog-max-len 128
notify-keyspace-events ""
hash-max-ziplist-entries 512
hash-max-ziplist-value 64
list-max-ziplist-size -2
list-compress-depth 0
set-max-intset-entries 512
zset-max-ziplist-entries 128
zset-max-ziplist-value 64
hll-sparse-max-bytes 3000
stream-node-max-bytes 4096
stream-node-max-entries 100
activerehashing yes
hz 10
dynamic-hz yes
aof-rewrite-incremental-fsync yes
rdb-save-incremental-fsync yes
更多推荐
docker安装ng+tomcat+es+kiba+sql
发布评论