1. 程式人生 > >安裝docker,用docker安裝redis等工具

安裝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 
版權宣告:本文為博主原創文章,轉載請附上博文連結!