docker 创建共享网络
容器之间直接调用是行不通的,通过创建 network 对容器起别名,通过别名调用容器(同一个network下)
docker network create my_net
docker 搭建mysql
在当前目录下创建文件夹data 用于存放数据
docker run -p 3306:3306 --name mysql --network javanet --network-alias mysql-1 -v $PWD/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=xxx@xx -d mysql:8.0.11
注意: 8.0版本需要更改编码方式,不然navicat 登录不了
进入容器
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'xxx@xx';
FLUSH PRIVILEGES;
docker 搭建es
- elasticsearch 单机版
docker run -it --name elasticsearch -d -p 9200:9200 -p 9300:9300 -p 5601:5601 -e "discovery.type=single-node" elasticsearch:6.6.0
- ik
docker exec -it 容器名 /bin/bash
./bin/elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v6.6.0/elasticsearch-analysis-ik-6.6.0.zip
退出容器后重启, ik 生效
- kibana 默认访问端口5601
docker run -it -d -e ELASTICSEARCH_URL=http://127.0.0.1:9200 --name kibana --network=container:elasticsearch kibana:6.6.0
docker 搭建 redis
docker run -d --name redis --network javanet --network-alias redis-1 -p 6379:6379 redis --requirepass "xxx@xx" --appendonly yes
- 或 无network
docker run -d --name redis -p 6379:6379 redis --requirepass "xxx@xx" --appendonly yes
docker 搭建 单节点 zookeeper+kafka
1.docker pull wurstmeister/zookeeper
2.docker run -d --name zookeeper --publish 2181:2181 \
--volume /etc/localtime:/etc/localtime \
--restart=always \
wurstmeister/zookeeper
ip为服务器ip
docker pull wurstmeister/kafka
docker run --name kafka \
-p 9092:9092 \
--link zookeeper:zookeeper \
-e KAFKA_LISTENERS=PLAINTEXT://0.0.0.0:9092 \
-e KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://ip:9092 \
-e KAFKA_ADVERTISED_HOST_NAME=ip \
-e KAFKA_ZOOKEEPER_CONNECT=zookeeper:2181 \
-d wurstmeister/kafka