基于Docker部署常用Paas组件
一、docker部署paas组件
(图片来源网络,侵删)
安装之前需要把本地的docker环境的日志都集中到固定的目录下,避免root目录打满,我这里挂载到了/data/docker目录下
二、paas组件搭建
1、MySQL
step1:创建目录
mkdir -p /data/mysql-data mkdir -p /data/mysql
step2:编辑mysql配置文件
cd /data/mysql vim my.cnf
[mysqld] pid-file = /var/run/mysqld/mysqld.pid socket = /var/run/mysqld/mysqld.sock datadir = /var/lib/mysql secure-file-priv= NULL lower_case_table_names = 1 character_set_server = utf8 collation-server = utf8_general_ci max_connections=3000 interactive_timeout=1800 wait_timeout=1800 default_authentication_plugin=mysql_native_password [client] default-character-set=utf8 # Custom config should go here !includedir /etc/mysql/conf.d/
step3:mysql数据持久化,启动容器
docker run -d --name mysql -e MYSQL_ROOT_PASSWORD=Admin@coc1 -p 3306:3306 -v /data/mysql-data:/var/lib/mysql -v /data/mysql/my.cnf:/etc/mysql/my.cnf mysql:8.0
2、redis
step1:
编辑redis配置文件:
mkdir -p /data/redis/ cd /data/redis/ vim redis.conf
# Redis配置文件 # Redis默认不是以守护进程的方式运行,可以通过该配置项修改,使用yes启用守护进程 daemonize no # 指定Redis监听端口,默认端口为6379 port 6379 # 绑定的主机地址,不要绑定容器的本地127.0.0.1地址,因为这样就无法在容器外部访问 bind 0.0.0.0 #需要则打开 requirepass Admin@coc1 # 持久化 appendonly yes
step2:创建目录
mkdir -p /data/redis mkdir -p /data/redis/data
step3:启动redis
docker run -p 6389:6379 --name redis -v /data/redis/redis.conf:/etc/redis/redis.conf -v /data/redis/data:/data -d redis redis-server /etc/redis/redis.conf
注:redis默认对外映射端口修改为6389
3、zookeeper
先启动zookeeper
docker run -d --name zookeeper --publish 2181:2181 --volume /etc/localtime:/etc/localtime wurstmeister/zookeeper
4、kafka
注意:需要先启动zookpeer组件
再启动kafka(启动kafak时记得把localhost换成本机ip地址,否则别的机器连接不上此kafka)
docker run -d --name kafka --network app-tier -p 9092:9092 -v /data/kafka/kafka_config/server.properties:/opt/kafka/config/server.properties \ -e ALLOW_PLAINTEXT_LISTENER=yes \ -e KAFKA_LISTENERS=PLAINTEXT://0.0.0.0:9092 \ -e KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://10.142.149.28:9092 \ -e KAFKA_ZOOKEEPER_CONNECT=zookeeper-server:2181 \ kafka:v1204
5、mongo
step1:
创建目录
mkdir -p /data/mongo/data mkdir -p /data/mongo/config mkdir -p /data/mongo/log
step2:配置文件mongod.conf
cd /data/mongo/config vim mongod.conf
# 数据库存储路径 dbpath=/data/mongo/data # 日志文件路径 logpath=/data/mongo/log/mongod.log # 监听的端口 port=27017 # 允许所有的 IP 地址连接 bind_ip=0.0.0.0 # 启用日志记录 journal=true # 启用身份验证 auth=true
step3:启动mongo容器
docker run --name mongo \ -p 27017:27017 \ -v /data/mongo/config/mongod.conf:/etc/mongod.conf \ -v /data/mongo/data:/var/lib/mongodb \ -v /data/mongo/log:/var/log/mongodb \ -d mongo:latest --auth
step4:
进入容器,创建管理员用户和密码
docker exec -it mongo mongosh admin
#创建用户设置密码
db.createUser(
{
user:'admin',
pwd:'xxxxx',
roles:[{ role:'userAdminAnyDatabase', db: 'admin'},
"readWriteAnyDatabase"]
}
)
#验证成功失败
db.auth('admin', 'xxxxxxx')
创建root用户
#创建root用户方法(可选)
db.createUser(
{
user:"root",
pwd:"xxxxxx",
roles:[{role:"root",db:"admin"}]
}
);
# 退出容器
quit()
step5:
重启mongo
docker restart mongo
如果需要修改mongo密码
db.changeUserPassword("admin", "xxxxxxxxxxxxx")
#验证成功失败
db.auth('admin', 'xxxxxxxxxxxxxx')
7、etcd
docker run -itd --name etcd \
-e ETCD_AUTO_COMPACTION_MODE=revision \
-e ETCD_AUTO_COMPACTION_RETENTION=1000 \
-e ETCD_QUOTA_BACKEND_BYTES=4294967296 \
-e ETCD_SNAPSHOT_COUNT=50000 \
-v /data/etcd:/etcd \
-p 2379:2379 \
quay.io/coreos/etcd:v3.5.5 \
etcd \
--advertise-client-urls=http://127.0.0.1:2379 \
--listen-client-urls http://0.0.0.0:2379 \
--data-dir /etcd
etcd创建用户
进入etcd容器:
docker exec -it etcd /bin/bash
etcd加密,执行如下:
etcdctl --endpoints=http://127.0.0.1:2379 user add root // 这里会提示输入 etcdctl --endpoints=http://127.0.0.1:2379 user grant-role root root etcdctl --endpoints=http://127.0.0.1:2379 auth enable
8、minio
mkdir -p /data/minio
docker run -itd --name myminio -e "MINIO_ACCESS_KEY=tKv5Hqql)WhgyZ+2yc)t" -e "MINIO_SECRET_KEY=FFQCPedDYmkUAw==" -v /data/minio:/minio_data -p 9005:9000 -p 9001:9001 minio/minio:latest minio server /minio_data --console-address ":9001" --address ":9000"
9、milvus
mkdir -p /data/milvus
docker run -itd --name milvus-standalone -e "ETCD_ENDPOINTS=10.142.149.28:2379" -e "MINIO_ADDRESS=10.142.149.28:9005" -v /data/milvus:/var/lib/milvus -p 19530:19530 -p 9095:9091 milvusdb/milvus:v2.2.13 milvus run standalone
注意:部署milvus时,需要先部署etcd和minio,修改对应ADDRESS为host信息
10、clickhouse
mkdir -p /data/clickhouse/log mkdir -p /data/clickhouse/clickhouse-server
docker run -d --name clickhouse-server -p 9090:9090 -p 8123:8123 clickhouse:v1204
免责声明:我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理! 图片声明:本站部分配图来自人工智能系统AI生成,觅知网授权图片,PxHere摄影无版权图库和百度,360,搜狗等多加搜索引擎自动关键词搜索配图,如有侵权的图片,请第一时间联系我们,邮箱:ciyunidc@ciyunshuju.com。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!
