Docker環(huán)境安裝
-
安裝yum-utils
yum install -y yum-utils device-mapper-persistent-data lvm2
-
為yum源添加docker倉庫位置
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
-
安裝docker:
yum install docker-ce
-
啟動docker:
systemctl start docker
Mysql安裝
-
下載mysql5.7的docker鏡像:
docker pull mysql:5.7
-
使用docker命令啟動:
docker run -p 3306:3306 --name mysql \ -v /mydata/mysql/log:/var/log/mysql \ -v /mydata/mysql/data:/var/lib/mysql \ -v /mydata/mysql/conf:/etc/mysql \ -e MYSQL_ROOT_PASSWORD=root \ -d mysql:5.7
-
參數(shù)說明
- p 3306:3306:將容器的3306端口映射到主機(jī)的3306端口
- -v /mydata/mysql/conf:/etc/mysql:將配置文件夾掛在到主機(jī)
- -v /mydata/mysql/log:/var/log/mysql:將日志文件夾掛載到主機(jī)
- -v /mydata/mysql/data:/var/lib/mysql/:將數(shù)據(jù)文件夾掛載到主機(jī)
- -e MYSQLROOTPASSWORD=root:初始化root用戶的密碼
-
進(jìn)入運(yùn)行mysql的docker容器:
docker exec -it mysql /bin/bash
Redis安裝
-
下載redis3.2的docker鏡像:
docker pull redis:3.2
-
使用docker命令啟動:
docker run -p 6379:6379 --name redis \ -v /mydata/redis/data:/data \ -d redis:3.2 redis-server --appendonly yes
-
進(jìn)入redis容器使用redis-cli命令進(jìn)行連接:
docker exec -it redis redis-cli
Nginx安裝
-
下載nginx1.10的docker鏡像:
docker pull nginx:1.10
-
從容器中拷貝nginx配置
-
先運(yùn)行一次容器(為了拷貝配置文件):
docker run -p 80:80 --name nginx \ -v /mydata/nginx/html:/usr/share/nginx/html \ -v /mydata/nginx/logs:/var/log/nginx \ -d nginx:1.10
-
將容器內(nèi)的配置文件拷貝到指定目錄:
docker container cp nginx:/etc/nginx /mydata/nginx/
-
修改文件名稱:
mv nginx conf
-
終止并刪除容器:
docker stop nginx docker rm nginx
-
-
使用docker命令啟動:
docker run -p 80:80 --name nginx \ -v /mydata/nginx/html:/usr/share/nginx/html \ -v /mydata/nginx/logs:/var/log/nginx \ -v /mydata/nginx/conf:/etc/nginx \ -d nginx:1.10
RabbitMQ安裝
-
下載rabbitmq3.7.15的docker鏡像:
docker pull rabbitmq:3.7.15
-
使用docker命令啟動:
docker run -d --name rabbitmq \ --publish 5671:5671 --publish 5672:5672 --publish 4369:4369 \ --publish 25672:25672 --publish 15671:15671 --publish 15672:15672 \ rabbitmq:3.7.15
-
進(jìn)入容器并開啟管理功能:
docker exec -it rabbitmq /bin/bash rabbitmq-plugins enable rabbitmq_management
-
開啟防火墻:
firewall-cmd --zone=public --add-port=15672/tcp --permanent firewall-cmd --reload
Elasticsearch安裝
-
下載elasticsearch6.4.0的docker鏡像:
docker pull elasticsearch:6.4.0
-
修改虛擬內(nèi)存區(qū)域大小鸿秆,否則會因?yàn)檫^小而無法啟動:
sysctl -w vm.max_map_count=262144
-
使用docker命令啟動:
docker run -p 9200:9200 -p 9300:9300 --name elasticsearch \ -e "discovery.type=single-node" \ -e "cluster.name=elasticsearch" \ -v /mydata/elasticsearch/plugins:/usr/share/elasticsearch/plugins \ -v /mydata/elasticsearch/data:/usr/share/elasticsearch/data \ -d elasticsearch:6.4.0
-
啟動時(shí)會發(fā)現(xiàn)/usr/share/elasticsearch/data目錄沒有訪問權(quán)限适肠,只需要修改/mydata/elasticsearch/data目錄的權(quán)限,再重新啟動沥匈。
chmod 777 /mydata/elasticsearch/data/
-
安裝中文分詞器IKAnalyzer,并重新啟動:
docker exec -it elasticsearch /bin/bash # 此命令需要在容器中運(yùn)行 elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v6.4.0/elasticsearch-analysis-ik-6.4.0.zip docker restart elasticsearch
-
開啟防火墻:
firewall-cmd --zone=public --add-port=9200/tcp --permanent firewall-cmd --reload
kibana安裝
-
下載kibana6.4.0的docker鏡像:
docker pull kibana:6.4.0
-
使用docker命令啟動:
docker run --name kibana -p 5601:5601 \ --link elasticsearch:es \ -e "elasticsearch.hosts=http://es:9200" \ -d kibana:6.4.0
-
開啟防火墻:
firewall-cmd --zone=public --add-port=5601/tcp --permanent firewall-cmd --reload
Mongodb安裝
-
下載mongo3.2的docker鏡像:
docker pull mongo:3.2
-
使用docker命令啟動:
docker run -p 27017:27017 --name mongo \ -v /mydata/mongo/db:/data/db \ -d mongo:3.2