基于Docker部署常用Paas组件

07-19 1113阅读

一、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
VPS购买请点击我

文章版权声明:除非注明,否则均为主机测评原创文章,转载或复制请以超链接形式并注明出处。

目录[+]