数据环境

docker部署数据中间件

  • docker部署开发环境数据中间件

常见工具命令

1
2
3
docker rm `docker ps -a -q`
docker start $(docker ps -a | awk '{ print $1}' | tail -n +2)
docker stop $(docker ps -a | awk '{ print $1}' | tail -n +2)

mysql

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23

# mysql5.6.40
docker stop mysql.5.6.40
docker rm mysql.5.6.40
docker run --privileged=true --name mysql.5.6.40 -p 3306:3306 -e MYSQL_ROOT_PASSWORD=coral@2018 -d mysql:5.6.40
docker update mysql.5.6.40 --restart=always

# mysql3336
docker stop mysql3336
docker rm mysql3336
docker run --privileged=true --name mysql3336 -p 3336:3306 -e MYSQL_ROOT_PASSWORD=coral@2018 -d mysql:5.6.40
docker update mysql3336 --restart=always

# mysql3337
docker stop mysql3337
docker rm mysql3337
docker run --privileged=true --name mysql3337 -p 3337:3306 -e MYSQL_ROOT_PASSWORD=coral@2018 -d mysql:5.6.40
docker update mysql3337 --restart=always

# mysql5.7.19
docker stop mysql5.7.19
docker rm mysql5.7.19
docker run --name mysql5.7.19 --privileged=true -p 3337:3306 -e MYSQL_ROOT_PASSWORD=coral@2018 -d mysql:5.7.19

redis

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
# redis 单机
docker stop redis-6379
docker rm redis-6379
docker run -d -p 6379:6379 --name redis-6379 --privileged=true redis:3.2 redis-server --port 6379 --requirepass "urcs@2021"
docker update redis-6379 --restart=always

docker stop redis-6380
docker rm redis-6380
docker run -d -p 6380:6380 --name redis-6380 --privileged=true redis:3.2 redis-server --port 6380

docker stop redis-6379
docker rm redis-6379
docker run -d -p 6379:6379 --name redis-6379 --privileged=true redis:3.2 redis-server --port 6379
docker update redis-6379 --restart=always

docker stop redis-6379
docker rm redis-6379
docker run -d -p 6379:6379 --name redis-6379 --privileged=true redis:6.2 redis-server --port 6379
docker update redis-6379 --restart=always

# sentinel
在当前目录配置文件
vim sentinel.conf
sentinel monitor mymaster 10.10.220.120 6379 1

启动sentinel
docker stop redis-sentinel-26379
docker rm redis-sentinel-26379
docker run -d -p 26379:26379 -v /Users/wuhao/data/soft/redis/sentinel.conf:/usr/local/bin/redis-conf/sentinel.conf --name redis-sentinel-26379 redis:3.2 redis-sentinel /usr/local/bin/redis-conf/sentinel.conf --port 26379

docker logs -f redis-sentinel-26379

hbase

1
2
3
4
5
6
7
8
9
10
拉取镜像
docker pull harisekhon/hbase:1.2
运行镜像
docker stop hbase1.2
docker rm hbase1.2
docker run -d -h hbase --privileged=true -p 2181:2181 -p 18080:8080 -p 18085:8085 -p 19090:9090 -p 19095:9095 -p 16000:16000 -p 16020:16020 -p 16010:16010 -p 16201:16201 -p 16301:16301 --name hbase1.2 harisekhon/hbase:1.2
docker update hbase1.2 --restart=always
docker exec -it hbase bash

docker run -d -h hbase --privileged=true -p 2181:2181 -p 18080:8080 -p 18085:8085 -p 19090:9090 -p 19095:9095 -p 16000:16000 -p 16010:16010 -p 16201:16201 -p 16301:16301 --name hbase1.2 harisekhon/hbase:1.2

zk

1
2
3
4
5
6
7
docker pull zookeeper:3.5
docker run --name zookeeper3.5 -p 7998:2181 -d zookeeper:3.5

docker stop zookeeper
docker rm zookeeper
docker run --privileged=true -d --name zookeeper --publish 2181:2181 -d zookeeper:3.5
docker update zookeeper --restart=always

kafka

1
2
3
4
5
6
7
8
9
10
11
docker pull wurstmeister/kafka:2.11-1.1.1

docker stop kafka2.11
docker rm kafka2.11
docker run \
--env KAFKA_BROKER_ID=0 \
--env KAFKA_ZOOKEEPER_CONNECT=172.16.106.78:7998 \
--env KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://172.16.106.78:9092 \
--env KAFKA_LISTENERS=PLAINTEXT://0.0.0.0:9092 \
--privileged=true -d --name kafka2.11 -p 9092:9092 \
wurstmeister/kafka:2.11-1.1.1

fastdfs

1
2
3
4
5
6
7
8
9
sudo docker stop trakcer
sudo docker rm trakcer
sudo docker run -d --privileged=true -p 22122:22122 --name trakcer --net=host 10.10.208.193:5000/urcs/fastdfs_tracker:4.08 tracker
sudo docker update trakcer --restart=always

sudo docker stop storage
sudo docker rm storage
sudo docker run -d --privileged=true -p 23000:23000 -p 8888:8888 --name storage --net=host --env TRACKER_SERVER=172.16.106.78:22122 10.10.208.193:5000/urcs/fastdfs_storage:4.08 storage
sudo docker update storage --restart=always

es

1
2
3
4
5
6
docker pull docker.elastic.co/elasticsearch/elasticsearch:6.0.0
docker stop elasticsearch
docker rm elasticsearch
docker run -d --name elasticsearch \
-p 9200:9200 -p 9300:9300 \
-e "discovery.type=single-node" docker.elastic.co/elasticsearch/elasticsearch:6.0.0
1
2
3
4
5
6
7
docker pull docker.elastic.co/elasticsearch/elasticsearch:6.3.2
docker stop elasticsearch
docker rm elasticsearch
docker run -d --name elasticsearch \
-p 9200:9200 -p 9300:9300 \
-e "discovery.type=single-node" docker.elastic.co/elasticsearch/elasticsearch:6.3.2
docker update elasticsearch --restart=always

kibana

1
2
3
4
5
6
docker pull elastic/kibana:6.0.0

//做了定制化设置
docker stop kibana6.0.0
docker rm kibana6.0.0
docker run -d --name kibana6.0.0 -e ELASTICSEARCH_URL=http://172.29.203.16:9200 -p 5601:5601 elastic/kibana:6.0.0
1
2
3
4
5
6
7
docker pull elastic/kibana:6.3.2


docker stop kibana6.3.2
docker rm kibana6.3.2
docker run -d --name kibana6.3.2 -e ELASTICSEARCH_URL=http://10.40.1.180:9200 -p 5601:5601 elastic/kibana:6.3.2
docker update kibana6.3.2 --restart=always

spark

1
2
docker pull sequenceiq/spark:1.6.0
docker run -it -p 8088:8088 -p 8042:8042 -h sandbox sequenceiq/spark:1.6.0 bash

git

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
获取镜像
docker pull beginor/gitlab-ce:11.3.0-ce.0

运行
通常会将 GitLab 的配置 (etc) 、 日志 (log) 、数据 (data) 放到容器之外, 便于日后升级, 因此请先准备这三个目录。
sudo mkdir -p /mnt/sda1/gitlab/etc
sudo mkdir -p /mnt/sda1/gitlab/log
sudo mkdir -p /mnt/sda1/gitlab/data

准备好这三个目录之后, 就可以开始运行 Docker 镜像了。 我的建议是使用unless-stopped 作为重启策略, 因为这样可以手工停止容器, 方便维护。
完整的运行命令如下:
docker run \
--detach \
--publish 8443:443 \
--publish 8080:80 \
--name gitlab \
--restart unless-stopped \
--volume /mnt/sda1/gitlab/etc:/etc/gitlab \
--volume /mnt/sda1/gitlab/log:/var/log/gitlab \
--volume /mnt/sda1/gitlab/data:/var/opt/gitlab \
beginor/gitlab-ce:11.3.0-ce.0

ftp

1
2
3
4
5
6
docker pull fauria/vsftpd
mkdir /home/ultra/ftp
docker stop vsftpd
docker rm vsftpd
docker run -d -v /home/ultra/ftp:/home/vsftpd -p 2120:20 -p 2121:21 -p 21100-21110:21100-21110 -e FTP_USER=urcs -e FTP_PASS=urcs@2018 -e PASV_ADDRESS=10.10.208.194 -e PASV_MIN_PORT=21100 -e PASV_MAX_PORT=21110 --name vsftpd --restart=always fauria/vsftpd
docker ps

speed

1
2
3
docker stop speedtest
docker rm speedtest
docker run -d --name speedtest -p 8888:80 adolfintel/speedtest:latest