安裝docker,用docker安裝redis等工具
一、安裝 docker
docker加速網址
https://registry.docker-cn.com
uname -r
158 yum install -y yum-utils device-mapper-persistent-data lvm2
159 yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
160 yum makecache fast
161 yum -y install docker-ce
162 systemctl start docker
163 docker run hello-world
您可以通過修改daemon配置檔案/etc/docker/daemon.json來使用加速器
164 sudo mkdir -p /etc/docker
165 sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://registry.docker-cn.com"]
}
EOF
166 sudo systemctl daemon-reload
167 sudo systemctl restart docker
-----------docker容器操作命令 其他命令自行百度,不做陳述
docker container {stop|start} nexus
docker container {stop|start} myredis
docker ps -a:列出所有的容器
docker rm 容器名:移除容器
-------------------------------------
二、安裝 docker-machine【最好看官方文件,他們經常更新】
【官方文件https://docs.docker.com/machine/install-machine/】
168 base=https://github.com/docker/machine/releases/download/v0.16.0 &&
curl -L $base/docker-machine-$(uname -s)-$(uname -m) >/tmp/docker-machine &&
sudo install /tmp/docker-machine /usr/local/bin/docker-machine
三、docker-compose
【官方文件https://docs.docker.com/compose/install/#prerequisites】
curl -L "https://github.com/docker/compose/releases/download/1.23.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
新增可執行許可權
$ sudo chmod +x /usr/local/bin/docker-compose
$ docker-compose --version
$ sudo pip install docker-compose
備註 如果沒有pip命令 請安裝 yum -y install epel-release yum -y install python-pip yum clean all
四、docker 安裝 consul
為了真實近似模擬線上,下面的配置都是一個服務一個docker-compose.yml檔案。
[[email protected] ~]# cd /data
[[email protected] data]# mkdir docker
[[email protected] data]# cd docker
[[email protected] data]# vi docker-compose.yml
version: '3.3'
services:
consul:
image: consul
container_name: consul_server
network_mode: bridge
ports:
- 8300:8300
- 8301:8301
- 8301:8301/udp
- 8302:8302
- 8302:8302/udp
- 8400:8400
- 8500:8500
- 53:53/udp
command: consul agent -data-dir=/tmp/consul -server -bootstrap -domain=zhenhe.li -client=0.0.0.0
注:yml配置檔案當前沒有學習,等抽時間研究補充
4.1 單個執行consul-single
docker run -d -p 8500:8500 -p 8300-8302:8300-8302 -p 8600:8600 \
--restart=always \
-h node1 \
--name consul-single \
consul agent \
-server \
-bootstrap-expect=1 \
-node=node1 \
-rejoin \
-client 0.0.0.0 \
-advertise 192.168.17.148 \
-ui
執行一個Consul Client
docker run -d -p 8500:8500 -p 8300-8302:8300-8302 -p 8600:8600 \
--restart=always \
-h node2 \
--name consul-client \
consul agent \
-node=node2 \
-rejoin \
-client 0.0.0.0 \
-join 192.168.17.148 \
-advertise 192.168.17.149
4.2 consul叢集
【使用Swarm編排工具叢集文章】參考文章https://www.cnblogs.com/chen110xi/p/6349454.html
【不使用編排工具叢集文章】https://blog.csdn.net/MichaelJScofield/article/details/81431594
五、安裝registrator
說明:network_mode模式:host在linux機器上可以,如果是mac系統請使用 bridge
[[email protected] ~]# docker pull gliderlabs/registrator
[[email protected] ~]# cd /data/docker
[[email protected] data]# vi docker-compose.yml
version: '3.3'
services:
registrator:
image: gliderlabs/registrator
container_name: docker_consul_registrator
network_mode: host
external_links:
- consul_server:consul
volumes:
- /var/run/docker.sock:/tmp/docker.sock
command: consul://consul:8500
注:該方式還沒有嘗試,直接run已嘗試,請檢視下面內容
命令
docker run -d \
--name=registrator \
--net=host \
--volume=/var/run/docker.sock:/tmp/docker.sock \
gliderlabs/registrator:latest \
-internal \
-ip 192.168.17.148 \
consul://192.168.17.148:8500
六 伺服器安裝nexus
docker pull sonatype/nexus3
docker run -d -p 8081:8081 --name nexus -e NEXUS_CONTEXT=nexus -v /home/nexus-data:/nexus-data sonatype/nexus3
七 伺服器安裝redis
cd /home/docker/redis
vi conf/redis.conf
配置redis.conf內容,自行百度
docker run \
-p 6379:6379 \
-v $PWD/data:/data \
-v $PWD/conf/redis.conf:/etc/redis/redis.conf \
--privileged=true \
--name myredis \
--restart=always \
-d redis redis-server /etc/redis/redis.conf
八、zookeeper安裝
cd /home/docker
mkdir zookeeper
cd zookeeper
docker pull zookeeper
建立名為docker-compose.yml的檔案【注意空格縮排,否則報錯 不能是tab】
version: '3'
services:
zk1:
image: zookeeper
restart: always
container_name: zk1
ports:
- "2181:2181"
environment:
ZOO_MY_ID: 1
ZOO_SERVERS: server.1=zk1:2888:3888 server.2=zk2:2888:3888 server.3=zk3:2888:3888
zk2:
image: zookeeper
restart: always
container_name: zk2
ports:
- "2182:2181"
environment:
ZOO_MY_ID: 2
ZOO_SERVERS: server.1=zk1:2888:3888 server.2=zk2:2888:3888 server.3=zk3:2888:3888
zk3:
image: zookeeper
restart: always
container_name: zk3
ports:
- "2183:2181"
environment:
ZOO_MY_ID: 3
ZOO_SERVERS: server.1=zk1:2888:3888 server.2=zk2:2888:3888 server.3=zk3:2888:3888
這個配置檔案會告訴 Docker 分別執行三個 zookeeper 映象, 並分別將本地的 2181, 2182, 2183 埠繫結到對應的容器的2181埠上.
ZOO_MY_ID 和 ZOO_SERVERS 是搭建 ZK 叢集需要設定的兩個環境變數, 其中 ZOO_MY_ID 表示 ZK 服務的 id, 它是1-255 之間的整數, 必須在叢集中唯一. ZOO_SERVERS 是ZK 叢集的主機列表.
啟動 docker-compose 預設 找當前目錄docker-compose.yml
COMPOSE_PROJECT_NAME=zk_cluster docker-compose up -d
或者指定配置檔案啟動【COMPOSE_PROJECT_NAME=zk_cluster docker-compose -f docker-zookeeper.yml up -d】
九hystrix-dashboard
docker pull kennedyoliveira/hystrix-dashboard
There is a docker image available that you can run by:
docker run --rm -ti -p 7010:7979 kennedyoliveira/hystrix-dashboard
You can pass configuration or jvm params by using the ENV VAR JVM_ARGS as with the example below:
docker run --rm -ti -p 7979:7979 -e JVM_ARGS='-Xmx2048m' kennedyoliveira/hystrix-dashboard
The docker images will have tags equal to hystrix-dashboard and hystrix-core versions, so if you need a especific version you can check there, starting with 1.5.1+
參考網址https://github.com/kennedyoliveira/standalone-hystrix-dashboard
後臺執行
docker run -d -p 7010:7979 kennedyoliveira/hystrix-dashboard
十zipkin-server
docker pull openzipkin/zipkin
docker run -d -p 9411:9411 openzipkin/zipkin
以下內容 轉載https://blog.csdn.net/larger5/article/details/79824373
③ Docker 使用 MongoDB
Ⅰ、下載 MongoDB 映象
docker pull registry.docker-cn.com/library/mongo
1
Ⅱ、開啟 MongoDB
docker run --name myMongo -p 27018:27017 -d mongo:latest
1
Ⅲ、進入 MongoDB
docker exec -it myMongo mongo
1
④ Docker 使用 Solr
Ⅰ、下載 Solr 映象
docker pull registry.docker-cn.com/library/solr
1
Ⅱ、開啟 Solr 容器
docker run -d -p 8983:8983 --name mySolr solr:latest
1
Ⅲ、建立 Solr 儲存
docker exec -it --user=solr mySolr bin/solr create_core -c itaem
1
Ⅳ、進入 Solr 容器
docker exec -it mySolr /bin/bash
1
⑤ Docker 使用 ElasticSearch
Ⅰ、下載 ElasticSearch 映象
注意使用2.3版本,否則得設定記憶體等,同時高版本的 ES,目前穩定版的 SpringBoot 1.5.13 的 SpringData 並不支援,除非使用充滿坑的 SpringBoot 2.0
docker pull registry.docker-cn.com/library/elasticsearch:2.3
1
Ⅱ、開啟 ElasticSearch 容器
docker run -d --name=esNode1 -p 9200:9200 -p 9300:9300 elasticsearch:2.3 -Des.network.publish_host="120.79.197.131"
1
新版本的 ES 得設定運存-e ES_JAVA_OPTS="-Xms256m -Xmx256m",因預設是 2G ,很多小型伺服器消耗不起,會因此自動關閉 ES
docker run -e ES_JAVA_OPTS="-Xms256m -Xmx256m" -d -p 9200:9200 -p 9300:9300 --name ES01 671bb2d7da44
1
Ⅲ、測試
http://120.79.197.131:9200 能進入如下介面(前面為自己的伺服器的 ip 地址),則安裝使用成功
---------------------
作者:larger5
來源:CSDN
原文:https://blog.csdn.net/larger5/article/details/79824373
版權宣告:本文為博主原創文章,轉載請附上博文連結!