下载安装:https://docs.docker.com/engine/install/centos/
sudo yum install -y yum-utils
sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
yum makecache
sudo yum install docker-ce docker-ce-cli containerd.io
#启动docker
sudo systemctl start docker
#设置docker开机自启
sudo systemctl enable docker
#配置阿里云镜像(也可以不配,自行百度)
#查看镜像
docker images
#搜索镜像
docker search mysql
#下载镜像
docker pull mysql
#删除镜像
docker rmi -f id
docker rmi -f $(docker images -ad) #删除所有镜像
#查看正在运行的容器
docker ps -a
#退出容器
exit #停止容器并退出
ctrl+P+Q #容器不停止退出
#删除容器
docker rm 容器id
docker rm -f $(docker ps -aq) #删除所有容器
docker ps -a -q|xargs docker rm #删除所有
#启动和停止
docker start 容器id
docker restart 容器id
docker stop 容器id
docker kill 容器id #强制停止
#拉取镜像
docker pull redis
#运行容器
docker run -itd --name myredis -p 6379:6379 redis
#可以通过查看redis容器实例状态
docker ps
#进入容器
docker exec -it myredis /bin/bash
#设置开机自启
docker update --restart=always myredis
#启动和停止容器
docker start/stop 容器id
#通过连接测试redis服务
redis-cli
#可以通过 RedisDesktopManager 远程连接宿主机端口,密码默认无。
etcd使用2379和2380作为端口。2379供服务端使用,2380共其他etcd节点使用
#下载Etcd镜像
docker pull quay.io/coreos/etcd
docker images
#启动
docker run -itd -p 2379:2379 --restart=always --name etcd quay.io/coreos/etcd /usr/local/bin/etcd --advertise-client-urls http://0.0.0.0:2379 --listen-client-urls http://0.0.0.0:2379
#进入
docker exec -it etcd /bin/sh
#查看版本号
etcdctl --version
#etcdctl version: 3.3.8
#API version: 2
#设置版本
export ETCDCTL_API=3
#查看集群信息
etcdctl member list
#查看集群状态(leader结点)
etcdctl --write-out=table endpoint status
#参数endpoints
etcdctl --endpoints=127.0.0.1:2379 version
#查看存储信息
etcdctl get "" --prefix
ETCDCTL_API=3 etcdctl get "" --prefix
#添加与删除
etcdctl get key(key为key-value的key值)
etcdctl del key
#拉取镜像
docker pull postgres
#启动容器(以下几种方式都可以,参数自行选择)
sudo docker run --name crpsql -e POSTGRES_PASSWORD=123456 -p 5432:5432 -d postgres
docker run --name crpsql -d postgres -p 5432:5432 -e POSTGRES_PASSWORD=123456 -v /postgre-sql:/var/lib/postgresql/data postgres
docker run -d -p 5432:5432 -v /postgre:/var/lib/postgresql/data -e POSTGRES_PASSWORD=123456 --name crpsql postgres
#进入容器
sudo docker exec -it crpsql bash
#安装vi
apt-get update
apt-get install vim
#修改配置文件(可不改)
cd var/lib/postgresql/data/
vi pg_hba.conf
host all all md5
docker pull mysql:8.0
-d:后台运行
-p:端口映射
-v:卷挂载
-e:环境配置
--name:容器名
docker run -d -p 3306:3306 -v /home/mysql/conf:/etc/mysql/conf.d -v /home/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 --name mysql mysql:8.0
docker exec -it mysql bash
#配置远程连接访问
vi /etc/mysql/mysql.conf.d/mysqld.cnf
#1.设置max_map_count不能启动es会启动不起来
#查看max_map_count的值 默认是65530
cat /proc/sys/vm/max_map_count
#重新设置max_map_count的值
sysctl -w vm.max_map_count=262144
#2.拉取镜像
docker pull elasticsearch:7.2.0
#启动镜像
docker run --name es -d -e ES_JAVA_OPTS="-Xms512m -Xmx512m" -e "discovery.type=single-node" -p 9200:9200 -p 9300:9300 elasticsearch:7.2.0
#测试安装是否成功
curl localhost:9200
#或在浏览器访问http://139.198.30.18:9200/
尝试连接easticsearch会发现无法连接上,由于是前后端分离开发,所以会存在跨域问题,需要在服务端做CORS的配置。
#进入容器
docker exec -it es /bin/bash
vi config/elasticsearch.yml
#在最下面添加:
http.cors.enabled: true
http.cors.allow-origin: "*"
#退出重启,docker restart es
#将ik分词器插件的压缩包上传至服务器,然后将其上传到es容器
docker cp test/elasticsearch-analysis-ik-7.2.0.zip es:/usr/share/elasticsearch/plugins
#进入容器
docker exec -it elasticsearch /bin/bash
#创建目录
mkdir /usr/share/elasticsearch/plugins/ik
#将文件压缩包移动到ik中
mv /usr/share/elasticsearch/plugins/elasticsearch-analysis-ik-7.2.0.zip /usr/share/elasticsearch/plugins/ik
#进入目录
cd /usr/share/elasticsearch/plugins/ik
#解压
unzip elasticsearch-analysis-ik-7.2.0.zip
#删除压缩包
rm -rf elasticsearch-analysis-ik-7.2.0.zip
docker pull docker.elastic.co/kibana/kibana:7.2.0
#启动
docker run --name kibana -d --restart always --link es:elasticsearch -p 5601:5601 docker.elastic.co/kibana/kibana:7.2.0
docker exec -it kibana /bin/bash
#docker部署Kibana默认是英文版
vi /opt/kibana/config/kibana.yml
#在最后加上:,然后退出重启
i18n.locale: zh-CN
http://139.198.30.18:5601/
#拉取zookeeper和kafka镜像
docker pull wurstmeister/zookeeper
docker pull wurstmeister/kafka
#1.运行zookeeper
docker run -d --name zookeeper --restart always -p 2181:2181 wurstmeister/zookeeper
#2.运行kafka
docker run --name kafka01 \
--restart always \
-p 9092:9092 \
-e KAFKA_BROKER_ID=0 \
-e KAFKA_ZOOKEEPER_CONNECT=139.198.30.18:2181 \
-e KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://139.198.30.18:9092 \
-e KAFKA_LISTENERS=PLAINTEXT://0.0.0.0:9092 \
-d wurstmeister/kafka
#3.进入kafka容器
docker exec -it kafka01 /bin/sh
#4.进入路径
cd /opt/kafka_2.13-2.7.0/bin/
#5.运行kafka生产者发送消息
./kafka-console-producer.sh --broker-list localhost:9092 --topic sun
#6.发送消息
{“datas”:[{“channel”:"",“metric”:“temperature”,“producer”:“ijinus”,“sn”:“IJA0101-00002245”,“time”:“1543207156000”,“value”:“80”}],“ver”:“1.0”}
#7.运行kafka消费者接收消息
/opt/kafka_2.13-2.7.0/bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic sun --from-beginning