屏蔽掉硬件和軟件環(huán)境的影響虏缸,很方便的在虛擬化容器里跑服務(wù)
一璃岳、
- 查看內(nèi)核版本
uname -r
谓晌,需要3.10 以上3.10.0-693.2.2.el7.x86_64
- 下載
yum -y install docker-io
- 啟動(dòng): systemctl start docker
service docker start
查看: systemctl status docker - 查看鏡像: docker images
搜索鏡像資源:docker search redis:4.0.11 - 刪除鏡像: docker rmi + imageID
- 下載Nginx鏡像: docker pull nginx
docker pull <name>:<version> - 下載Mysql 5.7: docker pull mysql:5.7
- 下載Redis: docker pull redis:4.0.11
- 下載 :docker pull rabbitmq
二杯拐、
- 查看端口占用情況 : netstat -nap | grep 80
如果有其他進(jìn)程占用80端口互拾,須停止(aliyundun除外) - 創(chuàng)建容器 :
docker run -d -p 80:80 --name mynginx nginx
docker run -d -p <o-port>:<i-port> --name <name> 鏡像:版本號(hào)
docker run -d - 開啟docker守護(hù)進(jìn)程
80:80 - 阿里云80端口:docker本地80端口
--name mynginx nginx - 啟動(dòng)nginx 鏡像 - 阿里云安全組開放所有端口 1/65535
- 開啟本機(jī)防火墻: systemctl start firewalld
- 防火墻開啟80端口:
firewall-cmd --add-port=80/tcp --permanent
--permanent 永久開啟 - 配置防火墻規(guī)則后需要重啟: systemctl restart firewalld
再重啟docker : systemctl restart docker - 查看正在運(yùn)行的容器:
docker ps
docker container ls - 停止指定容器: docker stop mynginx
開啟指定容器: docker start mynginx - 查看所有容器: docker container ls -a
- 刪除一個(gè)沒有運(yùn)行的容器: docker rm mynginx
強(qiáng)制刪除運(yùn)行的容器:docker rm -f mynginx - 清空所有沒有運(yùn)行的容器(慎用): docker container prune
- 進(jìn)入容器的shell環(huán)境:
docker exec -it <name> /bin/bash
- 開啟mysql容器 :
docker run -d -p 3306:3306 --name mysql57 -e MYSQL_ROOT_PASSWORD=123456 mysql:5.7
配置mysql登錄密碼 - -e MYSQL_ROOT_PASSWORD=123456
指定mysql版本,否則會(huì)自動(dòng)下載最新版本: msyql:5.7 - 啟動(dòng)redis
docker run -d -p 6379:6379 --name redis-master redis:4.0.11 redis-server --appendonly yes --requirepass whre123
redis-server - redis 啟動(dòng)服務(wù)命令
--appendonly yes - 持久化
--requirepass whre123 - 設(shè)置密碼 whre123 - 連接redis :
redis-cli -h 120.77.243.69
-->auth 'password' --> ping - 給redis 建立奴隸:
docker run -d -p --name redis-slave-1 --link redis-master:redis-master redis:4.0.11 redis-server --slaveof redis-master 6379 --masterauth whre123
查看主從信息: info replication
Redis
Redis 兩種持久化方案: RDB(存儲(chǔ)數(shù)據(jù)) / AOF(記錄敲過的命令)
- 創(chuàng)建主機(jī)
docker run -d -p 6379:6379 --name redis-master redis:4.0.11 redis-server --appendonly yes --requirepass whre123 - 創(chuàng)建三個(gè)從機(jī)
docker run -d -p --name redis-slave-1 --link redis-master:redis-master redis:4.0.11 redis-server --slaveof redis-master 6379 --masterauth whre123
docker run -d -p --name redis-slave-2 --link redis-master:redis-master redis:4.0.11 redis-server --slaveof redis-master 6379 --masterauth whre123
--link redis-master:redis-master : 連接主機(jī)并給主機(jī)別名(主機(jī)ip改了也可以用別名連接)
--slaveof redis-master 6379 : 設(shè)定為主機(jī)(別名)的從機(jī)
--masterauth whre123 : 同步密碼 - 檢查主從復(fù)制的配置
docker exec -it redis-master /bin/bash
auth whre123
info replication
黑技術(shù)
- 刪除所有的redis-server服務(wù):
ps -ef | grep redis-server | grep -v grep | awk '{print $2}' | xargs kill
grep -v grep - 排除 grep的進(jìn)程
awk '{print2-第二列的PID
xargs - 將前面的內(nèi)容作為參數(shù)傳給 kill - shell 腳本, 開機(jī)自啟:
cd /usr/bin/
-- 存放命令的文件夾
vim xxx.sh
-->寫入命令
chmod 777 xxx.sh
-- 更新xxx.sh文件的權(quán)限
輸入 xxx.sh 即可運(yùn)行腳本里的命令