一、MySQL
mkdir -p /mydata/mysql/conf /mydata/mysql/data /mydata/mysql/logs
vim /mydata/mysql/conf/my.cnf
[client]
default-character-set=utf8
[mysql]
default-character-set=utf8
[mysqld]
init_connect='SET collation_connection = utf8_unicode-ci'
init_connect='SET NAMES utf8'
character-set-server=utf8
collation-server=utf8_unicode_ci
skip-character-set-client-handshake
skip-name-resolve
sql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO ,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION'
cd /mydata/mysql
docker run -d --name mysql -p 3306:3306 -p 33060:33060 --privileged=true --restart=always \
-v ${PWD}/logs:/var/log/mysql \
-v ${PWD}/data:/var/lib/mysql \
-v ${PWD}/conf/my.cnf:/etc/mysql/mysql.conf.d/mysqld.cnf \
-e MYSQL_ROOT_PASSWORD=root \
mysql:5.7
二、Redis
mkdir -p /mydata/redis/conf /mydata/redis/data
vim /mydata/redis/conf/redis.conf
bind 0.0.0.0
appendonly yes
daemonize no
cd /mydata/redis
docker run -d -p 6379:6379 --name redis --restart=always --privileged=true \
-v ${PWD}/conf/redis.conf:/etc/redis/redis.conf \
-v ${PWD}/data:/data \
redis:4.0.14 \
redis-server /etc/redis/redis.conf
三、Elasticsearch + Kibana
mkdir -p /mydata/elasticsearch/config /mydata/elasticsearch/data /mydata/elasticsearch/plugins
vim elasticsearch/config/elasticsearch.yml
http.host: 0.0.0.0
http.cors.allow-origin: "*"
http.cors.enabled: true
chmod -R 777 elasticsearch
docker network create ELK
cd /mydata/elasticsearch
docker run -d -p 5601:5601 -p 9200:9200 -p 9300:9300 \
--name elasticsearch --net ELK --privileged=true --restart=always\
-e "discovery.type=single-node" \
-e ES_JAVA_OPTS="-Xms128m -Xmx256m" \
-v ${PWD}/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml \
-v ${PWD}/data:/usr/share/elasticsearch/data \
-v ${PWD}/plugins:/usr/share/elasticsearch/plugins \
elasticsearch:7.4.2
docker run -d --net container:elasticsearch --name kibana \
-e ELASTICSEARCH_HOSTS=http://<宿主机 IP 地址>:9200 \
kibana:7.4.2
四、Nginx
mkdir -p /mydata/nginx/html /mydata/nginx/logs
docker run -d --name nginx nginx:1.15
cd /mydata/nginx
docker cp nginx:/etc/nginx .
mv nginx conf
docker rm -rf nginx
docker run -d -p 80:80 --name nginx --restart=always --privileged=true \
-v ${PWD}/conf:/etc/nginx \
-v ${PWD}/html:/usr/share/nginx/html \
-v ${PWD}/logs:/var/log/nginx \
nginx:1.15
后续待更新...