(1)拉取镜像
docker pull tomcat:7-jre7
(2)创建容器
创建容器 -p表示地址映射
docker run -di --name=mytomcat -p 9000:8080
-v /usr/local/webapps:/usr/local/tomcat/webapps tomcat:7-jre7
(1)拉取镜像
docker pull nginx
(2)创建目录
mkdir -p /soft /nginx
创建nginx.conf配置文件
(2)创建Nginx容器
docker run -di --name=mynginx -p 80:80 -v /data/nginx/conf/nginx.conf:/etc/nginx/nginx.conf -v /data/nginx/logs:/var/log/nginx nginx
(1)拉取镜像
docker pull redis
(2)创建目录
mkdir -p /soft/redis
(3)自定义配置文件
官网下载配置文件redis.conf放到宿主机/data/redis目录下
(4)创建容器
docker run -di --name=redis -p 6379:6379 -v /data/redis/redis.conf:/etc/redis/redis.conf -v /data/redis/data:/data redis
(5)附加参数
redis.conf的配置启动 :redis-server /etc/redis/redis.conf
数据持久化:--appendonly yes
gitlab依赖redis和postgresql
(1)拉取镜像
docker pull sameersbn/redis
docker pull sameersbn/postgresql
docker pull gitlab/gitlab‐ce:latest
(2)创建Postgresql容器
docker run ‐‐name postgresql ‐d ‐‐privileged=true ‐e 'DB_NAME=gitlabhq_production' ‐e
'DB_USER=gitlab' ‐e 'DB_PASS=password' ‐e 'DB_EXTENSION=pg_trgm' ‐v
/home/root/opt/postgresql/data:/var/lib/postgresql sameersbn/postgresql
(3)创建Redis容器
docker run ‐‐name redis ‐d ‐‐privileged=true ‐v /home/root/opt/redis/data:/var/lib/redis
sameersbn/redis
(4)创建GitLab容器
docker run ‐‐name gitlab ‐d ‐‐link postgresql:postgresql ‐‐link redis:redisio ‐‐hostname
192.168.164.103 ‐p 10022:22 ‐p 8899:80 ‐e 'GITLAB_PORT=8899' ‐e 'GITLAB_SSH_PORT=10022' ‐e
'GITLAB_SECRETS_DB_KEY_BASE=long‐and‐random‐alpha‐numeric‐string' ‐e
'GITLAB_SECRETS_SECRET_KEY_BASE=long‐and‐random‐alpha‐numeric‐string' ‐e
'GITLAB_SECRETS_OTP_KEY_BASE=long‐and‐random‐alpha‐numeric‐string' ‐e
'GITLAB_HOST=192.168.101.64' ‐e 'SMTP_AUTHENTICATION=login' ‐v
/home/root/opt/gitlab/data:/home/git/data docker.io/gitlab/gitlab‐ce
(1)拉取镜像
docker pull jenkinsci/blueocean
(2)创建容器
docker create ‐‐name jenkins ‐u root ‐p 8889:8080 ‐‐privileged=true ‐v jenkins‐
data:/var/jenkins_home ‐v /var/run/docker.sock:/var/run/docker.sock ‐v /home/jenkins:/home
docker.io/jenkinsci/blueocean
(3)启动容器
docker start Jenkins
(4)初始化
docker exec ‐it jenkins /bin/bash
cat /var/jenkins_home/secrets/initialadminPassword
ssh‐keygen ‐t rsa ‐C "[email protected]"
cat ~/.ssh/id_rsa.pub
(1)拉取镜像
docker pull rabbitmq:management
(2)创建容器
docker create --hostname myRabbitMQ --name rabbitmq -e RABBITMQ_DEFAULT_USER=root -e RABBITMQ_DEFAULT_PASS=qwe123 -p 15672:15672 -p 5672:5672 -p 25672:25672 -p 61613:61613 -p 1883:1883 rabbitmq:management
(3)启动容器
docker start rabbitmq
(1)拉取镜像
docker pull docker.elastic.co/elasticsearch/elasticsearch:6.3.2
docker pull mobz/elasticsearch-head:5
(2)创建配置文件
mkdir -p /soft/elasticsearch/config
mkdir -p /soft/elasticsearch/data
chmod -R 777 /soft/
vi es-1.yml
#集群名称 所有节点要相同
cluster.name: "es-zipkin"
#本节点名称
node.name: master
#作为master节点
node.master: true
#是否存储数据
node.data: true
#head插件设置
http.cors.enabled: true
http.cors.allow-origin: "*"
#设置可以访问的ip 这里全部设置通过
network.bind_host: 0.0.0.0
#设置节点 访问的地址 设置master所在机器的ip
network.publish_host: 192.168.164.100
(3)启动es容器
docker run -d --name es -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" docker.elastic.co/elasticsearch/elasticsearch:6.3.2
(4)修改配置
vi /config/elasticsearch.yml
http.cors.enabled: true
http.cors.allow-origin: "*"
docker restart es
(5)启动es-head
docker run -d --name es_admin -p 9100:9100 mobz/elasticsearch-head:5
(6)集群搭建
参考:https://blog.csdn.net/belonghuang157405/article/details/83301937
#拉取zk镜像
docker pull zookeeper:3.5
#创建容器
docker create --name zk -p 2181:2181 zookeeper:3.5
#启动容器
docker start zk
#图形
安装ZooInspector
HAProxy是一个使用C语言编写的自由及开放源代码软件[1],其提供高可用性、负载均衡,以及基于TCP和HTTP的应用程序代理。
HAProxy特别适用于那些负载特大的web站点,这些站点通常又需要会话保持或七层处理。
HAProxy运行在当前的硬件上,完全可以支持数以万计的并发连接。并且它的运行模式使得它可以很简单安全的整合进您当前的架构中, 同时可以保护你的web服务器不被暴露到网络上。
HAProxy实现了一种事件驱动, 单一进程模型,此模型支持非常大的并发连接数。多进程或多线程模型受内存限制 、系统调度器限制以及无处不在的锁限制,很少能处理数千并发连接。事件驱动模型因为在有更好的资源和时间管理的用户空间(User-Space) 实现所有这些任务,所以没有这些问题。此模型的弊端是,在多核系统上,这些程序通常扩展性较差。这就是为什么他们必须进行优化以 使每个CPU时间片(Cycle)做更多的工作。
官网:http://www.haproxy.org/
关于并发性能,haproxy可以做到千万级的并发。
1、安装
#拉取镜像
docker pull haproxy:1.9.3
#创建目录,用于存放配置文件
mkdir /haoke/haproxy
#创建容器
docker create --name haproxy --net host -v /vander/haproxy:/usr/local/etc/haproxy haproxy:1.9.3
2、配置
#创建文件 vim /vander/haproxy/haproxy.cfg
#输入如下内容
global
log 127.0.0.1 local2
maxconn 4000
daemon
defaults
mode http
log global
option httplog
option dontlognull
option http-server-close
option forwardfor except 127.0.0.0/8
option redispatch
retries 3
timeout http-request 10s
timeout queue 1m
timeout connect 10s
timeout client 1m
timeout server 1m
timeout http-keep-alive 10s
timeout check 10s
maxconn 3000
listen admin_stats
bind 0.0.0.0:4001
mode http
stats uri /dbs
stats realm Global\ statistics
stats auth admin:admin123
listen proxy-mysql
bind 0.0.0.0:4002
mode tcp
balance roundrobin
option tcplog
#代理mycat服务
server mycat_1 192.168.1.101:8066 check port 8066 maxconn 2000
server mycat_2 192.168.1.101:8067 check port 8067 maxconn 2000
3、启动容器
#启动容器
docker restart haproxy && docker logs -f haproxy
4、测试
http://192.168.1.101:4001/dbs