Docker 运行基础服务

Author: Ju4t

MySQL

docker run --name MySQL -p3306:3306 -v /Volumes/PV/mysql:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=PassWord -d mysql:latest --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci --default-authentication-plugin=mysql_native_password

Redis

docker run --name Redis -p 6379:6379 -v /Volumes/PV/redis:/data -d redis redis-server --appendonly yes --requirepass "PassWord"

ElasticSearch

elasticsearch.yaml

echo "http.host: 0.0.0.0">> /Volumes/PV/elasticsearch/config/elasticsearch.yml
docker run -d --name ElasticSearch -p 9200:9200 -p 9300:9300 \
-e "discovery.type=single-node" \
-e ES_JAVA_OPTS="-Xms64m -Xmx128m" \
-v /Volumes/PV/elasticsearch/config/elasticsearch.yml:/user/share/elasticsearch/config/elasticsearch.yml \
-v /Volumes/PV/elasticsearch/data:/user/share/elasticsearch/data \
-v /Volumes/PV/elasticsearch/plugins:/user/share/elasticsearch/plugins \
elasticsearch:7.16.2

user: elastic 
password: changeme

ClickHouse

docker run -d --name clickhouse-server --ulimit nofile=262144:262144 -p 8123:8123 yandex/clickhouse-server

kafka

服务

docker run -d --name zookeeper  -p 2181:2181 -t wurstmeister/zookeeper 

docker run -d --name kafka --publish 9092:9092 \
--link zookeeper \
--env KAFKA_ZOOKEEPER_CONNECT=zookeeper:2181 \
--env KAFKA_ADVERTISED_HOST_NAME=127.0.0.1 \
--env KAFKA_ADVERTISED_PORT=9092 \
wurstmeister/kafka

测试

# test,更多操作参考kafka集群
sudo docker exec -it kafka /bin/bash
cd /opt/kafka

# 创建 topic,分区、副本数和brokers节点有关系
$ bin/kafka-topics.sh --bootstrap-server localhost:9092 --create --replication-factor 1 --partitions 1 --topic my-topic
# 字面意思
$ bin/kafka-topics.sh --bootstrap-server localhost:9092 --list
$ bin/kafka-topics.sh --bootstrap-server localhost:9092 --describe --topic my-topic
$ bin/kafka-topics.sh --bootstrap-server localhost:9092 --delete --topic my-topic

# 消息测试
# Producer
$ bin/kafka-console-producer.sh --topic my-topic --bootstrap-server localhost:9092
# Consumer 从头开始消费 --from-beginning
$ bin/kafka-console-consumer.sh --topic my-topic --bootstrap-server localhost:9092 --from-beginning

Celery

$ docker run -d --name sentry-postgres -e POSTGRES_PASSWORD=secret -e POSTGRES_USER=sentry postgres