特别说明centos 6,7安装docker命令不同,
例如1:安装 【centos6 命令 yum install docker-io】【centos7 命令yum -y install docker-ce】
例如2:容器命令【docker start redis】【centos7 命令docker container start 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 【centos6 命令 yum install docker-io】
162 systemctl start docker 【centos6.8 启动service docker start】
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
168
systemctl enable docker 【centos6.8开机自启动 chkconfig docker on 检查自启动chkconfig docker --list】
-----------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/】
# 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
也可以分别执行:
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文件。
[root@bogon ~]# cd /data
[root@bogon data]# mkdir docker
[root@bogon data]# cd docker
[root@bogon 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-singl
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.youkuaiyun.com/MichaelJScofield/article/details/81431594
五、安装registrator
说明:network_mode模式:host在linux机器上可以,如果是mac系统请使用 bridge
[root@bogon ~]# docker pull gliderlabs/registrator
[root@bogon ~]# cd /data/docker
[root@bogon 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
个人机器配置setting.xml
<?xml version="1.0" encoding="UTF-8"?>
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">
<localRepository>D:\\tools\\apache-maven-3.3.3-bin\\data\\.m2\\repository</localRepository>
<pluginGroups>
<pluginGroup>org.sonatype.plugins</pluginGroup>
<pluginGroup>org.eclipse.jetty</pluginGroup>
<pluginGroup>org.apache.tomcat.maven</pluginGroup>
</pluginGroups>
<proxies>
</proxies>
<servers>
<server>
<id>nexus</id>
<username>admin</username>
<password>admin123</password>
</server>
</servers>
<mirrors>
<mirror>
<id>nexus</id>
<name>148nexus_maven</name>
<url>http://192.168.17.148:8081/nexus/repository/maven-public/</url>
<mirrorOf>*</mirrorOf>
</mirror>
</mirrors>
<profiles>
<profile>
<id>nexus</id>
<repositories>
<repository>
<id>central</id>
<url>http://central</url>
<releases><enabled>true</enabled></releases>
<snapshots><enabled>true</enabled></snapshots>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<id>central</id>
<url>http://central</url>
<releases><enabled>true</enabled></releases>
<snapshots><enabled>true</enabled></snapshots>
</pluginRepository>
</pluginRepositories>
</profile>
</profiles>
<activeProfiles>
<activeProfile>nexus</activeProfile>
</activeProfiles>
</settings>
七 服务器安装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.youkuaiyun.com/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
来源:优快云
原文:https://blog.youkuaiyun.com/larger5/article/details/79824373
版权声明:本文为博主原创文章,转载请附上博文链接!